Overview

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

Afterward, you’ll be able to see your organization's data on https://dash.usehaystack.io, get all updates at the same speed as Cloud users.

You can find detailed instructions on each step below.

1. Open GHE firewall to Haystack IPs

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

35.209.159.249
35.208.83.132

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

2. Create the Haystack Github App

Open the organization you want Haystack to access, 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 from.

On the left bar, go to Install App and press 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

Haystack needs the following information to complete the installation process. Send us the following information via a secure channel.

  • App ID

  • Client ID

  • Client secret

  • Public link

  • Webhook Secret

  • Private Key

You have installed Haystack on your Github Enterprise organization successfully! We will contact you once your data is fetched.

Did this answer your question?