mirror of
https://github.com/n8n-io/n8n-docs.git
synced 2026-04-03 12:58:49 +07:00
92 lines
5.4 KiB
Markdown
92 lines
5.4 KiB
Markdown
---
|
|
#https://www.notion.so/n8n/Frontmatter-432c2b8dff1f43d4b1c8d20075510fe4
|
|
title: GitHub credentials
|
|
description: Documentation for GitHub credentials. Use these credentials to authenticate GitHub in n8n, a workflow automation platform.
|
|
contentType: [integration, reference]
|
|
priority: medium
|
|
---
|
|
|
|
# GitHub credentials
|
|
|
|
You can use these credentials to authenticate the following nodes:
|
|
|
|
- [GitHub](/integrations/builtin/app-nodes/n8n-nodes-base.github.md)
|
|
- [GitHub Trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.githubtrigger.md)
|
|
- [GitHub Document Loader](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentgithubloader.md): this node doesn't support OAuth.
|
|
|
|
## Prerequisites
|
|
|
|
Create a [GitHub](https://github.com/){:target=_blank .external-link} account.
|
|
|
|
## Supported authentication methods
|
|
|
|
- API access token: Use this method with any GitHub nodes.
|
|
- OAuth2: Use this method with [GitHub](/integrations/builtin/app-nodes/n8n-nodes-base.github.md) and [GitHub Trigger](/integrations/builtin/trigger-nodes/n8n-nodes-base.githubtrigger.md) nodes only; don't use with [GitHub Document Loader](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentgithubloader.md).
|
|
|
|
## Related resources
|
|
|
|
Refer to [GitHub's API documentation](https://docs.github.com/en/rest){:target=_blank .external-link} for more information about the service.
|
|
|
|
## Using API access token
|
|
|
|
To configure this credential, you'll need a [GitHub](https://github.com/){:target=_blank .external-link} account.
|
|
|
|
There are two steps to setting up this credential:
|
|
|
|
1. [Generate a GitHub personal access token](#generate-personal-access-token).
|
|
2. [Set up the credential](#set-up-the-credential).
|
|
|
|
Refer to the sections below for detailed instructions.
|
|
|
|
### Generate personal access token
|
|
|
|
/// note | Recommended access token type
|
|
n8n recommends using a personal access token (classic). GitHub's fine-grained personal access tokens are still in beta and can't access all endpoints.
|
|
///
|
|
|
|
To generate your personal access token:
|
|
|
|
1. If you haven't done so already, verify your email address with GitHub. Refer to [Verifying your email address](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/verifying-your-email-address){:target=_blank .external-link} for more information.
|
|
2. Open your GitHub profile [Settings](https://github.com/settings/profile){:target=_blank .external-link}.
|
|
3. In the left navigation, select [**Developer settings**](https://github.com/settings/apps){:target=_blank .external-link}.
|
|
4. In the left navigation, under **Personal access tokens**, select **Tokens (classic)**.
|
|
5. Select **Generate new token > Generate new token (classic)**.
|
|
6. Enter a descriptive name for your token in the **Note** field, like `n8n integration`.
|
|
7. Select the **Expiration** you'd like for the token, or select **No expiration**.
|
|
8. Select **Scopes** for your token. For most of the n8n GitHub nodes, add the `repo` scope.
|
|
- A token without assigned scopes can only access public information.
|
|
- Refer to
|
|
9. Select **Generate token**.
|
|
10. Copy the token.
|
|
|
|
Refer to [Creating a personal access token (classic)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic){:target=_blank .external-link} for more information. Refer to [Scopes for OAuth apps](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes){:target=_blank .external-link} for more information on GitHub scopes.
|
|
|
|
### Set up the credential
|
|
|
|
Then, in your n8n credential:
|
|
|
|
1. If you aren't using GitHub Enterprise Server, don't change the **GitHub server** URL.
|
|
- If you're using [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@3.9/admin/overview/about-github-enterprise-server){:target=_blank .external-link}, update **GitHub server** to match the URL for your server.
|
|
2. Enter your **User** name as it appears in your GitHub profile.
|
|
3. Enter the **Access Token** you generated above.
|
|
|
|
## Using OAuth2
|
|
|
|
--8<-- "_snippets/integrations/builtin/credentials/cloud-oauth-button.md"
|
|
|
|
If you're [self-hosting n8n](/hosting/index.md), create a new GitHub [OAuth app](https://docs.github.com/en/apps/oauth-apps){:target=_blank .external-link}:
|
|
|
|
1. Open your GitHub profile [Settings](https://github.com/settings/profile){:target=_blank .external-link}.
|
|
2. In the left navigation, select [**Developer settings**](https://github.com/settings/apps){:target=_blank .external-link}.
|
|
3. In the left navigation, select **OAuth apps**.
|
|
4. Select **New OAuth App**.
|
|
- If you haven't created an app before, you may see **Register a new application** instead. Select it.
|
|
5. Enter an **Application name**, like `n8n integration`.
|
|
6. Enter the **Homepage URL** for your app's website.
|
|
7. If you'd like, add the optional **Application description**, which GitHub displays to end-users.
|
|
8. From n8n, copy the **OAuth Redirect URL** and paste it into the GitHub **Authorization callback URL**.
|
|
9. Select **Register application**.
|
|
10. Copy the **Client ID** and **Client Secret** this generates and add them to your n8n credential.
|
|
|
|
Refer to the [GitHub Authorizing OAuth apps documentation](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps){:target=_blank .external-link} for more information on the authorization process.
|