--- 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`: ```bash npm npm install @trigger.dev/github@latest ``` ```bash pnpm pnpm install @trigger.dev/github@latest ``` ```bash yarn yarn add @trigger.dev/github@latest ``` ## 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. Trigger Jobs when events happen in GitHub, such as a new commit or a new issue. Perform tasks such as creating a new issue or a new comment. ## Example jobs Check out pre-built jobs using GitHub in our API section.