1
0
Fork 0
toolkit/packages/github
Chad Schulz 46bd5e54fd Wrap example in async function (#157)
As someone not too familiar with async/await JavaScript, I was hung up on this for a bit. If this is too distracting from the example itself, I can understand not integrating it.
2019-09-24 22:27:50 -04:00
..
__tests__ Add github package (#32) 2019-07-29 13:09:32 -04:00
src Accept Octokit.Options in the GitHub constructor 2019-09-05 09:54:27 -04:00
README.md Wrap example in async function (#157) 2019-09-24 22:27:50 -04:00
RELEASES.md Update RELEASES.md 2019-09-05 13:27:22 -04:00
jest.config.js Add github package (#32) 2019-07-29 13:09:32 -04:00
package-lock.json use zip and unzip from path (#161) 2019-09-24 17:07:08 -04:00
package.json Publish 2019-09-05 11:03:19 -04:00
tsconfig.json Add github package (#32) 2019-07-29 13:09:32 -04:00

README.md

@actions/github

A hydrated Octokit client.

Usage

Returns an Octokit client. See https://octokit.github.io/rest.js for the API.

const github = require('@actions/github');
const core = require('@actions/core');

async function run() {
    // This should be a token with access to your repository scoped in as a secret.
    // The YML workflow will need to set myToken with the GitHub Secret Token
    // myToken: ${{ secrets.GITHUB_TOKEN }
    // https://help.github.com/en/articles/virtual-environments-for-github-actions#github_token-secret
    const myToken = core.getInput('myToken');

    const octokit = new github.GitHub(myToken);

    const { data: pullRequest } = await octokit.pulls.get({
        owner: 'octokit',
        repo: 'rest.js',
        pull_number: 123,
        mediaType: {
          format: 'diff'
        }
    });

    console.log(pullRequest);
}

run();

You can pass client options (except auth, which is handled by the token argument), as specified by Octokit, as a second argument to the GitHub constructor.

You can also make GraphQL requests. See https://github.com/octokit/graphql.js for the API.

const result = await octokit.graphql(query, variables);

Finally, you can get the context of the current action:

const github = require('@actions/github');

const context = github.context;

const newIssue = await octokit.issues.create({
  ...context.repo,
  title: 'New issue!',
  body: 'Hello Universe!'
});