b5aea6c534
* Updated the examples section with new links / changed showcase link to project showcase * Added links to the api pages for all of our integrations * Deleted card from the airtable tasks page
81 lines
2.5 KiB
Plaintext
81 lines
2.5 KiB
Plaintext
---
|
|
title: GitHub overview & authentication
|
|
sidebarTitle: Overview & authentication
|
|
---
|
|
|
|
## Overview
|
|
|
|
Our GitHub integration allows you to create triggers and tasks that interact with GitHub. Trigger jobs when events happen, like when a new issue is added to a repo, or when a pull request is opened, etc. You can also perform tasks like creating issues, getting information about a repo, adding comments, and much more.
|
|
|
|
## Installing the GitHub packages
|
|
|
|
To get started with our GitHub integration, you need to install the `@trigger.dev/github` packages. You can do this using `npm`, `pnpm`, or `yarn`:
|
|
|
|
<CodeGroup>
|
|
|
|
```bash npm
|
|
npm install @trigger.dev/github@latest
|
|
```
|
|
|
|
```bash pnpm
|
|
pnpm install @trigger.dev/github@latest
|
|
```
|
|
|
|
```bash yarn
|
|
yarn add @trigger.dev/github@latest
|
|
```
|
|
|
|
</CodeGroup>
|
|
|
|
## Authentication
|
|
|
|
GitHub supports Personal Access Tokens and OAuth. You can use either of these to authenticate with GitHub.
|
|
|
|
### Personal Access Token
|
|
|
|
To create a personal access token on GitHub, login and [follow the instructions](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token). Information on the required scopes can be found [here](https://docs.github.com/en/developers/apps/scopes-for-oauth-apps).
|
|
|
|
```ts my-job.ts
|
|
import { GitHub } from "@trigger.dev/github";
|
|
|
|
//create GitHub client using a token
|
|
const github = new GitHub({
|
|
id: "github",
|
|
token: process.env.GITHUB_TOKEN!,
|
|
});
|
|
...
|
|
```
|
|
|
|
### OAuth
|
|
|
|
To use OAuth you can connect to GitHub via the Trigger.dev [web app](https://cloud.trigger.dev). Click 'Integrations' in the side panel of any project, and configure GitHub with the ID you want to use in your job and the required [scopes](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps).
|
|
|
|
```ts my-job.ts
|
|
import { GitHub } from "@trigger.dev/github";
|
|
|
|
//create GitHub client using OAuth
|
|
const github = new GitHub({
|
|
id: "github",
|
|
});
|
|
...
|
|
```
|
|
|
|
## Triggers and Tasks
|
|
|
|
Once you have set up a GitHub client, you can use it to create triggers and tasks.
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Triggers" icon="stars" href="/integrations/apis/github-triggers">
|
|
Trigger Jobs when events happen in GitHub, such as a new commit or a new issue.
|
|
</Card>
|
|
<Card title="Tasks" icon="sparkles" href="/integrations/apis/github-tasks">
|
|
Perform tasks such as creating a new issue or a new comment.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
## Example jobs
|
|
|
|
<Card title="Code examples" icon="code" href="https://trigger.dev/apis/github">
|
|
Check out pre-built jobs using GitHub in our API section.
|
|
</Card>
|