Creating a GitHub App
You can create and register a GitHub App under your personal account or under any organization you have administrative access to.
Note: GitHub Apps are only compatible with the REST API v3 at this time.
In the upper-right corner of any page, click your profile photo, then click Settings.
In the left sidebar, click Developer settings.
In the left sidebar, click GitHub Apps.
Click New GitHub App.
In "GitHub App name", type the name of your app.
Tip: Give your app a clear and succinct name. A slugged version of your app's name will be shown in the user interface when your integration takes an action.
Optionally, in "Description", type a description of your app that users will see.
- In "Homepage URL", type the full URL to your app's website.
- In "User authorization callback URL", type the full URL to redirect to after a user authorizes an installation. This URL is used if your app needs to identify and authorize user-to-server requests.
- Optionally, if additional setup is required after installation, in "Setup URL", type a URL to redirect users to after they install your app.
- In "Webhook URL", type the URL that events will POST to. Each app receives its own webhook which will notify you every time the app is installed or modified, as well as any other events the app subscribes to.
Optionally, in "Webhook Secret", type an optional secret token used to secure your webhooks.
Note: We highly recommend that you set a secret token. For more information, see "Securing your webhooks."
In "Permissions", choose the permissions your app will request. For each type of permission, use the drop-down menu and click Read-only, Read & write, or No access.
- In "Subscribe to events", choose whether to subscribe your app to Label, Public, Repository, or Watch events.
- To choose where the app is installed, select either Only on this account or Any account.
- Click Create GitHub App.
Generating a private key
After a GitHub App is created, you'll need to generate a private key. The private key will be used to sign access token requests.
To generate a private key, click on your app's name, then click the Generate private key button.
Note: A private key in PEM format will be downloaded to your computer. Ensure that you store this file, as GitHub only stores the public portion of the key.
If you're using a library that requires a specific file format, the PEM file you download will be in
PKCS#1 RSAPrivateKey format.