actions / github-script

Write workflows scripting the GitHub API in JavaScript
MIT License
4.24k stars 424 forks source link

Update octokit dependency to match online documentation #470

Open Battleman opened 6 months ago

Battleman commented 6 months ago

EDIT: the following is still correct, but due to using an outdated version of octokit. After digging some more, it was deprecated 7 months ago:

It would be solved by updating the octokit dependency to at least 10.1.0.

Previous issue:

Describe the bug The properties defined in octokit.rest.copilot are not consistent with the documentation. It seems the function getCopilotSeatDetailsForUser has been renamed to getCopilotSeatAssignmentDetailsForUser. According to the octokit doc, the function to get a user's copilot details is done with

octokit.rest.copilot.getCopilotSeatDetailsForUser({
  org,
  username,
});

Using this method within this action fails.

To Reproduce

  1. In a repository, create basic action
    name: Issue Workflow
    on:
    issues:
    jobs:
    build:
    runs-on: ubuntu-latest
    steps:
      - name: Run GitHub Script
        uses: actions/github-script@v7
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            console.log(Object.keys(github.rest.copilot))
            console.log(github.rest.copilot.getCopilotSeatDetailsForUser({
              org: "MyOrg",
              username: "MyUsername",
            }));
  2. Trigger the action with an issue
  3. The output is
    [
    'addCopilotForBusinessSeatsForTeams',
    'addCopilotForBusinessSeatsForUsers',
    'cancelCopilotSeatAssignmentForTeams',
    'cancelCopilotSeatAssignmentForUsers',
    'getCopilotOrganizationDetails',
    'getCopilotSeatAssignmentDetailsForUser',
    'listCopilotSeats'
    ]
    TypeError: github.rest.copilot.getCopilotSeatDetailsForUser is not a function
    at eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35424:16), <anonymous>:4:33)
    at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35425:12)
    at main (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35522:26)
    at /home/runner/work/_actions/actions/github-script/v7/dist/index.js:35497:1
    at /home/runner/work/_actions/actions/github-script/v7/dist/index.js:35553:3
    at Object.<anonymous> (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35556:12)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)
    at Module.load (node:internal/modules/cjs/loader:1091:32)
    at Module._load (node:internal/modules/cjs/loader:938:12)

Expected behavior The documented function getCopilotSeatDetailsForUser should work, as it does locally.

Screenshots N/A

Desktop (please complete the following information):

Additional context (I'm not sure if the problem comes from here specifically, but because the same code works locally but not within this action, it's my first hunch)

joshmgross commented 6 months ago

This will require updating @actions/github in https://github.com/actions/toolkit first, as that's pulling in Octokit.

randallt21 commented 5 months ago

Any update on bumping the dependencies to be consistent with latest Octokit?

Getting a similar error for a different command that would be resolved when this consistency is provided.

TypeError: github.rest.repos.createOrUpdateCustomPropertiesValues is not a function
    at eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35424:[16](https://github.com/helloextend/backend-service-template/actions/runs/9470274375/job/26090774539#step:3:17)), <anonymous>:3:25)
    at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35425:12)
    at main (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35522:26)
    at /home/runner/work/_actions/actions/github-script/v7/dist/index.js:35497:1
    at /home/runner/work/_actions/actions/github-script/v7/dist/index.js:35553:3
    at Object.<anonymous> (/home/runner/work/_actions/actions/github-script/v7/dist/index.js:35556:12)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Module.load (node:internal/modules/cjs/loader:1[20](https://github.com/helloextend/backend-service-template/actions/runs/9470274375/job/26090774539#step:3:21)8:32)
    at Module._load (node:internal/modules/cjs/loader:1024:12)

script is:


github.rest.repos.createOrUpdateCustomPropertiesValues({
    owner: context.repo.owner,
    repo: context.repo.repo,
    properties: ${{ fromJson(inputs.properties) }}
})