2019-07-29 17:09:32 +00:00
# `@actions/github`
> A hydrated Octokit client.
## Usage
2019-08-07 21:23:44 +00:00
Returns an Octokit client. See https://octokit.github.io/rest.js for the API.
2019-07-29 17:09:32 +00:00
2019-08-07 21:23:44 +00:00
```js
2019-07-29 17:09:32 +00:00
const github = require('@actions/github');
2019-07-31 20:19:47 +00:00
const core = require('@actions/core');
2019-07-29 17:09:32 +00:00
2019-09-25 02:27:50 +00:00
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
2019-10-14 14:59:46 +00:00
// myToken: ${{ secrets.GITHUB_TOKEN }}
2019-12-10 14:11:03 +00:00
// https://help.github.com/en/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token#about-the-github_token-secret
2019-09-25 02:27:50 +00:00
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();
2019-07-29 17:09:32 +00:00
```
2019-09-05 14:52:34 +00:00
You can pass client options (except `auth` , which is handled by the token argument), as specified by [Octokit ](https://octokit.github.io/rest.js/ ), as a second argument to the `GitHub` constructor.
2019-08-07 21:23:44 +00:00
You can also make GraphQL requests. See https://github.com/octokit/graphql.js for the API.
2019-07-29 17:09:32 +00:00
2019-08-07 21:23:44 +00:00
```js
2019-07-31 20:19:47 +00:00
const result = await octokit.graphql(query, variables);
2019-07-29 17:09:32 +00:00
```
Finally, you can get the context of the current action:
2019-08-07 21:23:44 +00:00
```js
2019-07-29 17:09:32 +00:00
const github = require('@actions/github');
2019-07-31 20:19:47 +00:00
const context = github.context;
2019-07-29 17:09:32 +00:00
const newIssue = await octokit.issues.create({
...context.repo,
title: 'New issue!',
body: 'Hello Universe!'
2019-07-31 20:19:47 +00:00
});
```