Integrate Percy with GitHub Enterprise Server
Integrate Percy with GitHub Enterprise Server, a source code management tool
Integrating Percy with GitHub Enterprise Server enables you to perform visual and code reviews together. It also facilitates visual reviews by allowing you to access the status of Percy builds on your pull requests, making it easy for your team to review visual differences. Learn more about how our source code integrations work.
If your GitHub Enterprise account is hosted on github.com, you can use our regular GitHub integration.
If you have two different organizations on BrowserStack and a single GitHub organization, use GitHub Enterprise Server integration, enter https://github.com
in the host field, and follow the instructions on this page. Ensure you use a distinct application name for each integration.
The GitHub installation ID is unique, so keep in mind:
- Main organization integrations are accessible to sub-organizations. However, sub-organization integrations are not accessible to other sub-organizations.
- If a sub-organization has already added the GitHub application, it needs to remove it from its integrations. The application should be added to the main organization so that all its sub-organizations can access it.
- Organizations outside the same enterprise group cannot install the GitHub app on both organizations.
Integrate Percy with self-hosted GitHub Enterprise Server
Percy Enterprise customers who self-host their GitHub Enterprise installation can take advantage of our GitHub Enterprise Server integration.
To integrate Percy with GitHub Enterprise Server, follow these steps:
Go to the Integrations page, and click Install for GitHub Enterprise Server.
Click Add App.
In the Host field, enter your GitHub Enterprise domain name and click Validate.
Upon successful validation, click Create App. You’re directed to the GitHub Enterprise Server login page.
Log in with your GitHub Enterprise Server account credentials.
Enter a GitHub App name and click Create GitHub App for. You’re directed to the Percy dashboard.
Click Install App.
Select an account/organization to install the app that you created. It is recommended to choose an organization.
Select the repositories that you want to access from Percy and click Install.
- If you want to access all the repositories, select All repositories.
- If you want to access specific repositories, select Only select repositories.
Go to the Integrations page. Under the Linked Projects section, link your Percy projects with the relevant repositories.
- When you select All repositories, all repositories are available. Search the required repositories and link your Percy projects with the same.
- When you select Only select repositories, specific repositories are available. Search the required repositories and link your Percy projects with the same.
If you want to install the same app for another organization, or add more repositories from your current organization, click Install App on the Integrations page again, select the organization, and then repeat the steps 8 through 10.
Permissions
-
If your GitHub Enterprise Server instance is accessible to everyone over the internet, then you do not need any specific network configurations.
-
If your GitHub instance does not allow public IPs to access it, then you have to allowlist [Percy’s IPs in your firewall].
-
If you specifically restrict Percy to only use certain endpoints on your GitHub Enterprise Server, then you have to allowlist a few endpoints in your firewall or on your GitHub Enterprise Server. The following table lists the endpoints, their usage, and the required permissions:
Endpoints | Usage | Permission |
---|---|---|
Commit statuses | Percy sets commit statuses. | Read and write access to commit statuses. |
1. Retrieve a commit 2. Retrieve a pull request 3. Compare two commits 4. GitHub Meta information |
1. If you don’t define the optional environment variables, Percy can call these 4 endpoints. 2. Percy receives a webhook when an app is uninstalled from a user account. |
Read access to code and metadata. |
## Related documentation
- If the user account of an app owner is deactivated or deleted, the app becomes inaccessible or is uninstalled.
- When the user who created the integration leaves the organization, Percy disables the integration, but does not remove it.
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
Thank you for your valuable feedback!