Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
All review comments are addressed
  • Loading branch information
cbehera-newrelic committed Oct 30, 2025
commit c2b96f9c0bfdb196ba9aea03b7d5423ed81232e2
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Service Architecture Intelligence with GitHub Enterprise (On-prem)
title: Service Architecture Intelligence with GitHub Enterprise (on-premises)
tags:
- New Relic integrations
- GitHub Enterprise integration
Expand All @@ -20,17 +20,40 @@ This integration streamlines the onboarding process for users and teams while si

**Prerequisites**

* GitHub Enterprise account that you want to integrate with New Relic.
* GitHub Enterprise on-premises account that you want to integrate with New Relic.
* Docker environment to run the collector service within your GHE network.

**To set up the GitHub Enterprise integration:**

1. **Create and configure a GitHub app**: In your GHE instance, navigate to **Settings → Developer Settings → GitHub Apps → New GitHub App**.
1. **Create and configure a GitHub app**: In your GHE instance, navigate to **Settings → Developer Settings → GitHub Apps → New GitHub App**. For detailed instructions on creating a GitHub App, refer to the [GitHub documentation on registering a GitHub App](https://docs.github.com/en/apps/creating-github-apps/registering-a-github-app/registering-a-github-app).

a. **Configure Permissions**: Set the specific permissions required for the app to perform real-time and initial data syncs. A separate document outlining the required permissions will be provided.
b. **Set Up Webhooks**: Configure the Webhook URL (which we will provide) and create a custom Event Secret for secure communication.
a. **Configure Permissions**: Set the specific permissions required for the app to perform real-time and initial data syncs. For detailed guidance on GitHub App permissions, refer to the [GitHub documentation on setting permissions for GitHub Apps](https://docs.github.com/en/apps/creating-github-apps/setting-up-a-github-app/setting-permissions-for-github-apps).
b. **Set Up Webhooks**: Configure the Webhook URL and create a custom Event Secret for secure communication:

- **Webhook URL**: Use the following format based on your collector service deployment:
- For HTTP: `http://your-collector-host:8080/webhook`
- For HTTPS: `https://your-collector-host:8443/webhook`

**Example**: If your collector service is deployed at `collector.yourcompany.com`, the webhook URL would be:
`https://collector.yourcompany.com:8443/webhook`

- **Event Secret**: Generate a secure random string (32+ characters) for webhook authentication. Save this value as you'll need it for the `EVENT_SECRET` environment variable.
c. **Install the App**: Install the created GitHub App on the relevant GHE organizations that you want to integrate with New Relic.
d. **Generate Keys**: Upon creation, the app will generate a unique App ID and a Private Key file (.pem format). Save these securely as they will be needed for the collector service configuration.
e. **Convert Private Key to Base64**: The collector service requires the private key in Base64 format. Convert your downloaded private key file using the following command:

```bash
# For Linux/macOS
base64 -i your-private-key.pem

# For Windows (using PowerShell)
[Convert]::ToBase64String([IO.File]::ReadAllBytes("your-private-key.pem"))

# Alternative for Windows (using certutil)
certutil -encode your-private-key.pem temp.b64 && findstr /v /c:- temp.b64
```

Copy the resulting Base64 string and use it as the value for `GITHUB_APP_PRIVATE_KEY` environment variable in your collector configuration.

2. **Prepare environment variables**: Before deploying the collector service, gather the following information:

Expand All @@ -44,12 +67,12 @@ This integration streamlines the onboarding process for users and teams while si
</thead>
<tbody>
<tr>
<td>`API_KEY`</td>
<td>`NR_API_KEY`</td>
<td>New Relic</td>
<td>Generate an API key from the New Relic dashboard.</td>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldnt it be better to have deep links here?

</tr>
<tr>
<td>`LICENSE_KEY`</td>
<td>`NR_LICENSE_KEY`</td>
<td>New Relic</td>
<td>Generate a License Key from the New Relic dashboard.</td>
</tr>
Expand All @@ -59,12 +82,12 @@ This integration streamlines the onboarding process for users and teams while si
<td>The base URL for your GHE server (e.g., `https://source.datanot.us`).</td>
</tr>
<tr>
<td>`APP_ID`</td>
<td>`GITHUB_APP_ID`</td>
<td>GitHub App</td>
<td>The unique App ID generated when you created the GitHub App.</td>
</tr>
<tr>
<td>`PRIVATE_KEY`</td>
<td>`GITHUB_APP_PRIVATE_KEY`</td>
<td>GitHub App</td>
<td>The content of the private key (`.pem`) file, converted to a Base64 string. We will provide the necessary conversion command.</td>
</tr>
Expand Down Expand Up @@ -174,6 +197,7 @@ This integration streamlines the onboarding process for users and teams while si
5. On the **GitHub Enterprise integration** screen:

- Click **Go to Teams** to view the imported teams information on [Teams](/docs/service-architecture-intelligence/teams/teams).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go through all your instructions and align them to , , format

- Click **Go to Repositories** to view the imported repositories information on [Catalogs](/docs/service-architecture-intelligence/catalogs/catalogs).

**Assigning repositories to New Relic Teams**

Expand Down
Loading