For the complete documentation index, see llms.txt. This page is also available as Markdown.

GitHub Self-Hosted (On-Prem) Setup for Workbench

This procedure is specifically for self-hosted GitHub deployments. For cloud-hosted, refer to GitHub Cloud Setup for Workbench.

Prerequisites

You must have:

  1. A GitHub Enterprise account license. For more information, see GitHub products.

Step 1: Install the Self-Hosted GitHub App

Workbench uses a GitHub App as part of the onboarding process.

  1. Use the Registering a GitHub App instructions to create a custom application in the organization you want monitored. Fill in the required fields as follows:

    • GitHub App name - enter "ExpelGitHubIntegration".

    • Homepage URL - enter "https://github.com/apps/expelgithubintegration".

    • Webhook - uncheck Active.

    • Organization permissions:

      • Members - select Read-only.

      • Administration - select Read-only.

    • Leave all other fields blank.

  2. Navigate to the organization's Apps Settings page. Under the About section, copy the value of App ID for use in a later step.

  3. Use the Authenticating with GitHub Apps instructions to generate a private key and save it for later use. This is your PEM key and you need it in the next section.

  4. If you are using an Expel Assembler within your network, use the GitHub documentation to add the assembler's internal IP to the allow list. Otherwise, add the Expel egress IPs listed in Configure an IP Allow List.

Step 2: Configure GitHub as a Security Device in Workbench

If you have multiple organizations, create a separate security device in Workbench for each organization.

Now that you have the correct access configured and noted the credentials, you can integrate your tech with Workbench.

  1. For Where is your device?:

    • If you decided to allow the Expel egress IPs, select Cloud.

    • If you are using an Assembler, select On-prem and select the assembler from the dropdown.

  2. Complete these fields using the credentials and information from Step 1.

    • Name - enter the name of your GitHub organization.

    • Location - enter "On-prem". If you are onboarding more on-prem devices, enter a name that indicates what each device is tracking.

    • Organization name - enter the name of your GitHub organization.

    • Enterprise slug - enter the Enterprise name.

    • On-prem URL (only for Enterprise server) - enter your on-prem GitHub API endpoint.

    • Application installation ID - enter the installation ID from Step 1.

    • Application ID - enter the application ID from Step 1.

    • Application Private PEM - copy and paste the PEM file contents from Step 1.

  3. Click Save.

Your device should be created successfully within a few seconds. A few reminders:

  • After your connection is healthy, it will take some time for your device to begin polling and receiving data.

  • To check on the status, select the downward arrow for your device in the first column and choose View details.

  • Polling will happen first; data will be received after that. You must refresh the page to see updates.

  • If your device does not begin polling within 15 minutes, and does not begin receiving data within 30 minutes, contact our support team for help.

  • To check if alerts are coming through, navigate to Dashboards > Alert Analysis. Scroll to the device you want to check, and select the Expel Alerts tab to reveal more alert information. It can take 36 to 72 hours for alerts to appear after setup, as we tune your device.

Last updated

Was this helpful?