GitHub (Destination)

How to get your GitHub organization slug and create a GitHub Personal Access Token.

The GitHub Destination credential type stores the Personal Access Token and configuration associated with the GitHub Organization or Enterprise to which you're migrating data with Warp.

To configure a GitHub Destination credential, you'll need:

  • A Personal Access Token assigned the correct scopes,

  • The Organization Slug associated with the token,

  • The days until the token expires, and

  • The GitHub Enterprise Cloud product to which you're migrating.

    • If you're migrating to GitHub Enterprise Cloud with Data Residency, you'll be prompted to provide the tenant URL associated with your Enterprise.

Configuration

Search for the 🛠️ emoji if you’d like to skim through this content while focusing on the steps you need to follow.

Get the Organization Slug

🛠️ Switch to the browser tab or window containing Migration HQ.

Make a note of the URL in your browser’s address bar. The URL contains the organization slug, which is the part of the URL that uniquely identifies the organization. It’s the part of the URL after github.com/ and before /Migration-HQ:

Close-up of the browser's address bar, which displays the URL "github.com/Hypotheticorp01".
The browser's address bar, while on the Migration HQ page.

In this example, the URL for the organization’s page is:

github.com/Hypotheticorp01/Migration-HQ

The organization slug is the part that comes after github.com/ and before /Migration-HQ, which means that this example’s organization slug is:

Hypotheticorp01

🛠️ Copy the organization slug from your browser’s address bar and paste it someplace safe — you’ll use it when you create the vault file.

Generate a Personal Access Token for Your Account

🛠️ Switch to the browser tab or window containing Migration HQ and click on your profile picture (located near the top right of the page) so that this menu appears:

The menu that appears when you click your profile picture. The key item in the menu is the "Settings" item.
The menu that appears when you click your profile picture.

🛠️ Select Settings from the menu.

You will be taken to the Settings page for your GitHub account:

The "Settings" page for the user's GitHub account.
GitHub account Settings page.

🛠️ Scroll down the page until you see the Developer settings item appear in the list on the left side:

The "Settings" page for the user's GitHub account, scrolled farther down the page. The key item is the “Developer settings” item at the bottom of the left-side menu.
GitHub account Settings page, scrolled farther down.

🛠️ Click on Developer settings.

This will take you to the Developer Settings page:

The "Developer Settings" page. The key item is the “Personal access tokens” item at the bottom of the left-side menu.
The Developer Settings page.

🛠️ In the menu on the left side of the page, expand the Personal access tokens item:

The Personal access tokens menu. The key item is the “Tokens (classic)” menu item.
The Personal access tokens menu.

🛠️ Select Tokens (classic) from the menu.

You will end up at the Personal access tokens (classic) page:

The Personal access tokens (classic) page. The key item is the “Generate new token” button.
The Personal access tokens (classic) page.

Towards the top right of the page, you’ll see the Generate new token button.

🛠️ Click the Generate new token button to make its menu appear:

The Generate new token button's menu. The key item is the “Generate new token (classic)” menu item.
The Generate new token menu.

🛠️ ...then select Generate new token (classic) from the menu.

You will arrive at the New personal access token (classic) page, where you’ll need to provide enough information to create a new personal access token:

The “New personal access token (classic)” page.
The New personal access token (classic) page.

🛠️ Enter a name or some other text to help you identify the token in the Note field. To make it easier to identify, we suggest you include “Warp” in the name:

The “Note” field and “Expiration” drop-down menu. The “Note” field contains the text “Warp migration 1” and the “Expiration” drop-down menu has “30 days” selected.
The Note field and Expiration drop-down menu.

For the purposes of this Quickstart, we’ll leave the Expiration field at the default value of 30 days.

🛠️ Under Select scopes, check the following boxes. Checking these boxes will automatically check their sub-boxes:

  • repo

  • workflow

  • write:packages

  • delete:packages

  • admin:org

The first section of the checkboxes on the “New personal access token (classic)” page, with the “repo”, “workflow”, “write:packages”, “delete:packages”, and “admin:org” checkboxes checked.
The first set of checkboxes.

🛠️ Then scroll down the page and check these boxes. Once again, checking these boxes will automatically check their sub-boxes:

  • admin:repo_hook

  • admin:org_hook

  • delete_repo

The next section of the checkboxes on the “New personal access token (classic)” page, with the “admin:repo_hook”, “admin:org_hook”, and “delete_repo” checkboxes checked.
The next set of checkboxes.

Feel free to use the checklist below to double-check that you’ve checked all the necessary checkboxes. It’s important to make sure you’ve checked all of them!

🛠️ Scroll to the bottom of the page and click the Generate token button:

The "Generate token" button.

You should now see this page, which will display the personal access token you just created:

The Personal access tokens (classic) page, with the newly-created Personal Access Token.
The Personal access tokens (classic) page, with the newly-created Personal Access Token.

🛠️ Copy the token and save it in a safe place — preferably a password manager.

Depending on your GitHub organization settings, you may also need to authorize your personal access token you issued for your Vault with SSO as well.

Visit https://github.com/settings/tokens and examine the Configure SSOdropdown menu adjacent to your personal access token.

View screenshot
Personal Access Token SSO Config Menu

If you receive an error like the followingResource protected by organization SAML enforcement. You must grant your OAuth token access to this organization. in the terminal or in a runner log, then review your Personal Access Token SSO authorizations as seen above.

Last updated

Was this helpful?