Note: Your GitHub App will have access to any repositories the app creates, even if someone only installs your app on selected repositories.
Installing your private GitHub App on your repository
Once you create a private GitHub App, you can install it on one of your org or user repositories. For more information, see "Private installation flow."
- From the GitHub Apps settings page, select your app.
- In the left sidebar, click Install App.
- Click Install next to the organization or personal account containing the correct repository.
- Install the app on all repositories or select repositories.
- Once installed, you will see configuration options for the app on your selected account. You can make changes here, or repeat the previous steps to install the app on another account.
Allowing people to install your public app on their repository
You can enable others to install your public app by providing the installation URL in places like your app's homepage. You can then point to your app's homepage from the landing page on GitHub.
If you are migrating from an OAuth App to a GitHub App, you can use query parameters to preselect the repositories and account when installing the GitHub App. See "Migrating OAuth Apps to GitHub Apps" to learn more.
These steps assume you have built a GitHub App:
- From the GitHub Apps settings page, select the public app you want to configure for others to install.
- In "Homepage URL," type the URL for your app's homepage and click Save changes.
- GitHub provides a landing page for your app that includes a link to your app's "Homepage URL." To visit the landing page on GitHub, copy the URL from "Public link" and paste it into a browser.
- Create a homepage for your app that includes the app installation URL:
http(s)://[hostname]/apps/<app name>/installations/new
.
Authorizing users during installation
You can simplify the authorization process by completing it during app installation. To do this, select Request user authorization (OAuth) during installation when creating or modifying your app in GitHub. See "Creating a GitHub App" to learn more.
Once someone has installed your app, you will need to get an access token for the user. See steps 2 and 3 in "Identifying users on your site" to learn more.
Preserving an application state during installation
You can provide a state
parameter in an app's installation URL to preserve the state of the application page and return people back to that state after they install, authenticate, or accept updates to your GitHub App. For example, you could use the state
to correlate an installation to a user or account.
To preserve a state, add it to the installation URL:
http(s)://[hostname]/apps/<app name>/installations/new?state=AB12t