Installing GitHub apps

When your app is public, anyone can install your app on their repository through the GitHub Marketplace or an installation URL. When your app is private, you can only install the app on repositories that you own.

Note: When someone installs your GitHub App on selected repositories, instead of on all repositories (the default option), your GitHub App will not have access to repositories it creates.

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."

  1. From the GitHub Apps settings page, select your app.
  2. In the left sidebar, click Install App.
  3. Click Install next to the organization or user account containing the correct repository.
  4. Install the app on all repositories or select repositories. App installation permissions
  5. 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.

Offering your app in the GitHub Marketplace

You can offer a paid or free version of your app in GitHub Marketplace, where people can search for and view details about your app. GitHub Marketplace automatically installs a GitHub App when an order is complete.

See "Getting started with GitHub Marketplace" to learn more about listing your app on GitHub Marketplace.

To learn more about how users can install your app from GitHub Marketplace, see "Purchasing and installing apps in GitHub Marketplace" in the GitHub Help documentation.

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:

  1. From the GitHub Apps settings page, select the public app you want to configure for others to install.
  2. In "Homepage URL," type the URL for your app's homepage and click Save changes. Homepage URL
  3. 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. Public link
  4. Create a homepage for your app that includes the app installation URL: https://github.com/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 a 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:

https://github.com/apps/<app name>/installations/new?state=AB12t