Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
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
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Service Architecture Intelligence with GitHub Integration
title: Service Architecture Intelligence with GitHub Cloud Integration
tags:
- New Relic integrations
- GitHub integration
Expand Down Expand Up @@ -29,6 +29,7 @@ This integration streamlines the onboarding process for users and teams, simplif
**To set up the GitHub integration:**

1. Go to **[one.newrelic.com > + Integration & Agents > GitHub integration](https://one.newrelic.com/marketplace/install-data-source?state=9306060d-b674-b245-083e-ff8d42765e0d)**.
2. Select **Github enterprise Cloud** as the instrumentation method and select **Continue**.
2. On the **Select an account** screen, keep the default account selection and click **Continue**.
3. On the **Integration setup** screen:

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
---
title: Service Architecture Intelligence with GitHub Enterprise Integration
tags:
- New Relic integrations
- GitHub Enterprise integration
metaDescription: Integrate your on-premise GitHub Enterprise (GHE) environment with New Relic using a secure collector service and GitHub App for automated data ingestion.
freshnessValidatedDate: never
---

<Callout title="PREVIEW">

We're still working on this feature, but we'd love for you to try it out!

This feature is currently provided as part of a preview program pursuant to our [pre-release policies](/docs/licenses/license-information/referenced-policies/new-relic-pre-release-policy).
</Callout>

The New Relic GitHub Enterprise integration imports repositories and teams from your on-premise GitHub Enterprise (GHE) account to enhance the visibility of your [Service Architecture Intelligence capability](/docs/service-architecture-intelligence/getting-started) in the New Relic platform.

This integration streamlines the onboarding process for users and teams, simplifies role management, and clarifies entity ownership mapping, reducing the setup configuration, time, and effort. Due to the restricted nature of GHE environments, integration is achieved via a local collector service deployed within your private network. This integration aims to enhance the management and visibility of [Catalogs](/docs/service-architecture-intelligence/catalogs/catalogs) and [Scorecards](/docs/service-architecture-intelligence/scorecards/getting-started) within New Relic. For more information, refer [Service Architecture Intelligence capability](/docs/service-architecture-intelligence/getting-started).

**Prerequisites**

* Login to your GitHub Enterprise account you plan to integrate with New Relic.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* Login to your GitHub Enterprise account you plan to integrate with New Relic.
* Login to the GitHub Enterprise account you plan to integrate with New Relic.

Copy link
Contributor

Choose a reason for hiding this comment

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

How is signing in a prerequisite?

* You must be the Organization Manager or Authentication Domain Manager.
* 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. **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.
Copy link
Contributor

Choose a reason for hiding this comment

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

Provided? Wont it be on the Docs site? Why cant we link to it?

2. **Set Up Webhooks**: Configure the Webhook URL (which we will provide) and create a custom Event Secret for secure communication.
Copy link
Contributor

Choose a reason for hiding this comment

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

where will they find it?

3. **Install the App**: Install the created GitHub App on the relevant GHE organizations that you want to integrate with New Relic.
4. **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.

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

<table>
<thead>
<tr>
<th>Variable</th>
<th>Source</th>
<th>How to Obtain</th>
</tr>
</thead>
<tbody>
<tr>
<td>`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>New Relic</td>
<td>Generate a License Key from the New Relic dashboard.</td>
</tr>
<tr>
<td>`GHE_BASE_URL`</td>
<td>GHE Server</td>
<td>The base URL for your GHE server (e.g., `https://source.datanot.us`).</td>
</tr>
<tr>
<td>`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</td>
<td>The content of the private key (`.pem`) file, converted to a Base64 string. We will provide the necessary conversion command.</td>
</tr>
<tr>
<td>`EVENT_SECRET`</td>
<td>GitHub App</td>
<td>The custom Event Secret value you set when creating the GitHub App.</td>
</tr>
</tbody>
</table>

3. **Deploy the collector service**: The collector service is delivered as a Docker image. Deployment can be done in one of two ways:

**Option A: Using Docker Compose (Recommended)**

We will provide a sample Docker Compose file that automates the download and deployment of the service.

1. Download the provided Docker Compose file.
2. Configure the environment variables from step 2.
Copy link
Contributor

Choose a reason for hiding this comment

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

Which step 2?

3. Run the following command:
```bash
docker-compose up -d
```

**Option B: Direct Docker image run**

You can download the Docker image directly from our Docker App registry and run it using your organization's preferred CI/CD pipeline or deployment method.
Copy link
Contributor

Choose a reason for hiding this comment

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

Link to Docker app library?


4. **Access the New Relic UI**:

1. Once the collector service is running and the GitHub App is installed on your GHE organization(s), the corresponding GHE organizations will appear in the New Relic UI.
2. Click **First time sync** to start the initial data synchronization.
Copy link
Contributor

Choose a reason for hiding this comment

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

, ,

3. *(Optional)* Click **On-demand sync** to manually sync the data.

<Callout variant="tip" title="tip">

You can manually synchronize the data once every 4 hours. The **On-demand sync** button remains disabled if sync has occurred within the previous 4 hours.

</Callout>

4. After you view the Sync started message, click **Continue**. The **GitHub Enterprise Integration** screen will then display the count of teams and repositories, refreshing every 5 seconds. Allow a few minutes for the complete import of all data.

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


**Assigning repositories to New Relic Teams**

You can auto-assign GitHub repositories to their teams by adding `teamOwningRepo` as a custom property in GitHub Enterprise.

1. Create the custom property at the organization level and assign a value for the custom property at the repository level. Additionally, you can set up a custom property for multiple repositories at the organization level simultaneously.
2. Then, in New Relic Teams, enable the [Automated Ownership](/docs/service-architecture-intelligence/teams/manage-teams/#assign-ownership) feature, making sure to use `team` as the tag key.

Once this is set up, we'll automatically match each repo with its correct team.

For more information on creating custom properties, refer to the [GitHub documentation](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization).

**Uninstallation**

To uninstall the GHE integration, you must:

1. Navigate to your GitHub Enterprise UI.
2. Go to the organization's settings where the app is installed.
3. Uninstall the GitHub App directly from the GHE interface. This action will trigger the backend process to cease data collection.


Binary file added src/images/ghe-architecture-diagram.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 6 additions & 2 deletions src/nav/service-architecture-intelligence.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,9 @@ pages:
path: /docs/service-architecture-intelligence/maps/advanced-maps
- title: Dynamic Flow Map
path: /docs/service-architecture-intelligence/maps/dynamic-flow-map
- title: GitHub integration
path: /docs/service-architecture-intelligence/github-integration
- title: GitHub Integrations
pages:
- title: GitHub Cloud integration
path: /docs/service-architecture-intelligence/github-integrations/github-cloud-integration
- title: GitHub Enterprise integration
path: /docs/service-architecture-intelligence/github-integrations/github-enterprise-integration