forked from github/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
github.js
29 lines (25 loc) · 801 Bytes
/
github.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env node
import dotenv from 'dotenv'
import { Octokit } from '@octokit/rest'
if (!process.env.GITHUB_TOKEN) {
dotenv.config()
}
// check for required PAT
if (!process.env.GITHUB_TOKEN) {
throw new Error(
'Error! You must have a GITHUB_TOKEN set in an .env file to use the GitHub REST API.'
)
}
// this module needs to work in development, production, and GitHub Actions
//
// GITHUB_TOKEN comes from one of the following sources:
// 1. set in the .env file (development)
// 2. set as a Heroku config var (staging and production)
// 3. an installation token granted via GitHub Actions
const apiToken = process.env.GITHUB_TOKEN
// See https://github.com/octokit/rest.js/issues/1207
export default function github() {
return new Octokit({
auth: `token ${apiToken}`,
})
}