Integrate Github Enterprise
Kan Yilmaz avatar
Written by Kan Yilmaz
Updated over a week ago

See all your teams work from JIRA issues to pull requests in once place by integrating Github with Haystack

For more information on what data Haystack uses from Git, here is an article!

For GitHub Enterprise (GHE) integrations, there are 4 high-level steps

  1. Open GHE firewall to Haystack IPs

  2. Create the Haystack Github App

  3. Generate App secrets

  4. Install organization to the newly created GitHub App

  5. Provide Haystack with the App secrets

You can find detailed instructions on each step below.

1. Open GHE firewall to Haystack IPs

Haystack API uses the following IP addresses to connect to GHE.

35.209.159.249
35.208.83.132
35.208.18.170
35.209.170.63

For Haystack to access your servers, we'll need open firewall access to the given IPs.

2. Create the Haystack GitHub App

Open the organization you want Haystack to access, and go to the Settings page. Then, go to GitHub Apps in the Developer Settings.

Click New GitHub App.

Here, fill in the following fields according to the detail below:

Register new GitHub App

Webhook

Permissions

Haystack requires the following permissions to give you insights. These permissions are in read-only mode:

Repository permissions:

  • Actions

  • Administration

  • Checks

  • Contents

  • Deployments

  • Issues

  • Metadata

  • Pages

  • Pull requests

  • Webhooks

  • Projects

  • Commit statuses

  • Dependabot alerts

Organization permissions:

  • Members

  • Administration

  • Webhooks

  • Plan

  • Projects

  • Blocking users

  • Team discussions

User permissions:

  • No access to all

Subscribe to events

Check the following items

  • Meta

  • Check suite

  • Create

  • Deployment key

  • Fork

  • Issue comment

  • Label

  • Member

  • Page build

  • Project card

  • Public

  • Pull request review

  • Push

  • Repository

  • Status

  • Team add

  • Org block

  • Security advisory

  • Check run

  • Commit comment

  • Delete

  • Deployment

  • Deployment status

  • Gollum

  • Issues

  • Milestone

  • Membership

  • Organization

  • Project

  • Project column

  • Pull request

  • Pull request review comment

  • Release

  • Repository dispatch

  • Star

  • Team

  • Watch

In the final step, make sure to select Any account and click Create Github App:

3. Generate App secrets

Take notes on the following items in a secure place.

  • App ID

  • Client ID

  • Client secret

  • Public link

  • Webhook Secret (generated in the previous step)

  • Private Key

On the same page, go to the Private keys section and press Generate a private key.

4. Install organization to the newly created GitHub App

We have created a GitHub App. Now we should allow the app to have access to the organizations you'd like to get insights.

On the left bar, go to Install App and press the Install button for the organizations you want Haystack to have access to.

Note: You can install one or more organizations.

Afterward, select the repositories you'd like to get insights into and press Install.

5. Provide Haystack with the App secrets

Finally, copy over the following information from the above steps into Haystacks integration form.

  • App ID

  • Client ID

  • Client secret

  • Public link

  • Webhook Secret

  • Private Key

You have installed Haystack on your GitHub Enterprise organization successfully!

If you have any questions or concerns, please reach out to us via Intercom chatbot on the bottom right corner!

Alternatively you can email us at [email protected]

Did this answer your question?