> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub App OAuth

> Integrate your application with the GitHub App OAuth API

## 🚀 Quickstart

Connect to GitHub App OAuth with Nango and see data flow in 2 minutes.

**1. Create the integration**

In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *GitHub App OAuth*.

**2. Authorize GitHub App OAuth**

Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to GitHub App OAuth. Later, you'll let your users do the same directly from your app.

**3. Call the GitHub App OAuth API**

Let's make your first request to the GitHub API. Replace the placeholders below with your [Environment API key](https://nango.dev/docs/reference/backend/http-api/api-keys.md), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

> [tab] cURL
>
> ```bash theme={null}
> curl "https://api.nango.dev/proxy/repos" \
>   -H "Authorization: Bearer <NANGO-API-KEY>" \
>   -H "Provider-Config-Key: <INTEGRATION-ID>" \
>   -H "Connection-Id: <CONNECTION-ID>"
> ```

> [tab] Node
>
> Install Nango's backend SDK with `npm i @nangohq/node`. Then run:
>
> ```typescript theme={null}
> import { Nango } from '@nangohq/node';
>
> const nango = new Nango({ apiKey: '<NANGO-API-KEY>' });
>
> const res = await nango.get({
>     endpoint: '/repos',
>     providerConfigKey: '<INTEGRATION-ID>',
>     connectionId: '<CONNECTION-ID>'
> });
>
> console.log(res.data);
> ```

Or fetch credentials with the [Node SDK](https://nango.dev/docs/reference/backend/backend-sdk/node.md#get-a-connection-with-credentials) or [API](https://nango.dev/docs/reference/backend/http-api/connections/get.md).

✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

**4. Implement Nango in your app**

Follow our [Auth implementation guide](https://nango.dev/docs/guides/primitives/auth.md) to integrate Nango in your app.

To obtain your own credentials, follow the setup guide linked below.

## 📚 GitHub App OAuth Integration Guides

Nango maintained guides for common use cases.

* [How to register your own GitHub App OAuth app](https://nango.dev/docs/api-integrations/github-app-oauth/how-to-register-your-own-github-app-api-oauth-app)\
  Register an OAuth app with GitHub and obtain credentials to connect it to Nango

Official docs: [GitHub Developer Documentation](https://docs.github.com/en)

## 🧩 Pre-built syncs & tools for GitHub App OAuth

Explore Nango-provided tools in your dashboard. Extend and customize them to fit your needs.

### Others

| Function name | Description | Type |
| - | - | - |
| `add-issue-comment` | Create a new comment on an issue or pull request discussion thread. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `cancel-workflow-run` | Cancel a queued or in-progress workflow run. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `compare-commits` | Compare two commits/branches/tags and get the diff, ahead/behind counts, and file list. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-branch` | Create a new branch (git ref) pointing at an existing commit. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-commit-status` | Create a status (e.g. for CI) on a specific commit. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-deployment-status` | Add a status update to a deployment (e.g. success, failure, in\_progress). | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-deployment` | Create a new deployment. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-issue-comment` | Create a comment on an issue or pull request | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-issue` | Create a new issue in a GitHub repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-label` | Create a repository label with name, color, and description | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-or-update-file` | Create a new file, or update an existing one, via a single commit. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-pages-site` | Enable and configure a GitHub Pages site for a repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-pull-request-review` | Submit a review on a pull request (a comment, approval, or change request). | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-pull-request` | Create a new pull request. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-release` | Creates a new release for a repository | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-review-request` | Request reviewers or teams on an open pull request. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-tag-object` | Create an annotated git tag object for a commit or object SHA. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-branch` | Delete a branch | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-file` | Deletes a file from a GitHub repository via a single commit | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-issue-comment` | Delete an issue or pull request comment. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-label` | Delete a repository label by name. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-release` | Delete a release. The underlying git tag is not deleted by this call. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-branch` | Get details of a single branch, including its latest commit sha. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-commit` | Get details of a single commit by sha or ref. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-file-content` | Get the content and metadata of a file (or list a directory) at a given path and ref. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-issue` | Fetch a single issue or pull request issue record by number. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-job-logs-download-url` | Get the API endpoint URL for a workflow job log download. Due to Nango proxy limitations with 302 redirects, this returns the API endpoint rather than the actual download URL. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-label` | Retrieve a single repository label by name. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-merge-queue-entry` | Get the merge queue entry for a specific pull request, if the repository has a merge queue enabled. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-pages-site` | Get the GitHub Pages site configuration of a repository | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-pull-request` | Get details of a single pull request. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-release` | Get details of a single release. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-repository` | Get details of a repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-review` | Retrieve a pull request review by review ID. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-tag-ref` | Retrieve a tag ref or branch-style Git reference. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-workflow-run-job` | Get details of a single job within a workflow run. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-workflow-run` | Get details and status of a single workflow run | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-workflow` | Get details of a single workflow by ID or filename. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-branches` | List branches in a repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-commit-statuses` | List all statuses posted for a specific commit. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-commits` | List commits on a branch or overall. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-deployment-statuses` | List the status history of a deployment. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-deployments` | List deployments for a repository | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-installation-repositories` | List the repositories this GitHub App installation has access to | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-issue-comments` | List comments on an issue or pull request. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-issues` | List issues (and, per GitHub API design, pull requests too) in a repository | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-labels` | List repository labels with pagination. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-pull-request-commits` | List the commits included in a pull request. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-pull-request-files` | List the files changed in a pull request. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-pull-request-reviews` | List reviews submitted on a pull request. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-pull-requests` | List pull requests in a repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-release-assets` | List assets uploaded to a repository release. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-releases` | List releases for a repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-tags` | List tags in a repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-workflow-run-artifacts` | List artifacts produced by a workflow run. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-workflow-run-jobs` | List the jobs that ran as part of a workflow run. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-workflow-runs` | List workflow runs for a specific workflow or for the whole repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-workflows` | List GitHub Actions workflows defined in a repository. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `merge-pull-request` | Merge a pull request | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `rerun-workflow` | Re-run a completed workflow run | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-code` | Search file contents across indexed GitHub repositories using code-search qualifiers. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-commits` | Search commits across indexed repositories by message, author, or metadata qualifiers. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-issues-and-pull-requests` | Search issues and pull requests across indexed repositories using GitHub's issue-search qualifiers. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-labels` | Search for labels within a specific repository by name or description. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-repositories` | Search public and accessible repositories using GitHub's repository-search qualifiers. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-topics` | Search GitHub topics (the tagging/categorization objects behind repository topic pages). | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search-users` | Search GitHub user and organization accounts using user-search qualifiers. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `trigger-workflow-dispatch` | Manually trigger a workflow run (the workflow must have a workflow\_dispatch trigger defined). | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-issue-comment` | Update the body of an existing comment. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-issue` | Edit an issue's title, body, state, assignees, labels, or milestone. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-label` | Update a repository label's name, color, or description. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-pull-request` | Update a pull request's title, body, state, or base branch. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-release` | Update an existing release's metadata. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-repository` | Update repository-level settings such as description, homepage, default branch, feature toggles, merge options, and archived state. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `branches` | Sync branches for a repository. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `commits` | Sync commits on a repository's default branch (or a specified branch). | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `deployments` | Sync deployments for a repository. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `issues` | Sync issues for one or more GitHub repositories with incremental updates based on issue activity | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `list-files` | Lists all the files of a Github repo given a specific branch | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `pull_requests` | Sync pull requests for a repository. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `releases` | Sync releases for a repository. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `repositories` | Sync repositories visible to the authenticated GitHub app installation | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `repository-files` | Sync file metadata for a specific repository branch. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `workflow_runs` | Sync GitHub Actions workflow runs for a repository. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.