Configure GitHub Enterprise Server and the Git Integration

Configure GitHub Enterprise Server and the SnapLogic Git Integration.

The SnapLogic Git Integration supports an on-premises GitHub Enterprise Server (GHES) with the App Gateway and use of a Groundplex. The SnapLogic Platform supports a single Groundplex per environment for Git operations. The control plane communicates through the App Gateway, which routes Git requests through a Groundplex to the Git provider.

Prerequisites

To enable use of GHES with the Git Integration:

  • In GHES, a GHES administrator:
    • Creates a GitHub app for SnapLogic.
    • Creates one or more repositories to store SnapLogic assets.
  • In the SnapLogic environment, an Environment admin:
    • Configures the Git Integration.
    • Configures the Groundplex with the App Gateway.

Create the GitHub App

Ensure that you have the following:
  • A subscription to the Git Integration for GHES.
  • GHES administrator permissions.
  1. Create a GitHub App to register SnapLogic with GHES.
    1. Follow the GitHub instructions to create a new GitHub App.
      Register New GitHub App dialog

      Field Description
      GitHub App name The name of your GitHub App.

      Example: snaplogic-app

      Homepage URL The full URL to the GitHub app’s website. Users install the app from this page.

      Example: https://your-GHES-server-URL/github-apps/snaplogic-app/

      Callback URL The full URL to redirect to after the installation is authorized.

      Example: https://elastic.snaplogic.com/api/1/rest/asset/app/oauthcallback

      Expire user authorization tokens Enable this option.
      Permissions > Repository administration
      • Contents: Read & write
      • Deployments: Read & write
      • Issues: Read & write
      • Pull Requests: Read & write
      Where can this GitHub App be installed Any Account
    2. Save the App ID, which is required for SnapLogic configuration.
    3. Install the newly created GitHub App for the appropriate GHES organization.
    4. Use the buttons on the About page of the GitHub App to generate and save a client secret and a private key.

      The generated private keys are automatically downloaded in a .pem file.

  2. Follow the steps in the GitHub documentation to limit repository visibility to the repositories for SnapLogic assets.
  3. Configure the network with the following settings:
    Destination: Admin Manager - Configure Git dialog Source: GHES GitHub App creation
    Client ID Available from the GitHub App.
    Client Secret Generated in the About page of the GitHub App.
    GHES URL Homepage URL
    App ID GitHub App name
    Private Key Generated in the About page of the GitHub App. The private key is stored in a .pem file that is automatically downloaded.

Configure the Git Integration in Admin Manager:

  1. In Admin Manager, go to System Configuration > Git Integration.
  2. In the Git Integration page, set Git integration type as Github Enterprise Server, and fill in the settings.
    GHES configuration form.

    Field/Field set Description
    Client ID The value stored in the GitHub App.
    Client secret The field displays this value until you save the configuration, then it is hidden. Later, the only way to change it is to replace it.
    GHES URL The App Gateway URL that routes Git requests between your Groundplex and the GHES server. Construct the URL using the following format:

    https://org-sidekick-environment-github.controlplane:8095

    Where:

    • org: Your environment name with hyphens, special characters, and spaces removed. This doesn't change the environment name, but is required for the URL. For example, myenterprise-snap-test becomes myenterprisesnaptest.
    • environment: The value from the Environment field on your Groundplex Settings tab, with hyphens, special characters, and spaces removed. For example, dev-12 becomes dev12.
    • controlplane: The App Gateway address for your control plane:
      • Production - Global: appgateway.prod.snaplogic.io
      • Production - EMEA: appgateway.emea.snaplogic.io
      • UAT: appgateway.uat.snaplogic.io

    Example: For an environment named test with an Environment value of dev on the Global control plane:

    https://test-sidekick-dev-github.appgateway.prod.snaplogic.io:8095

    Attention: Do not rename your environment. Only remove special characters and spaces when constructing the GHES URL string.
    Auth URL The public Homepage URL used in the GitHub App creation.
    Important: This field now takes the Homepage URL, which formerly was used as the GHES URL.
    App ID The GitHub App installation ID
    Private key Copy and paste the RSA key from the .pem file generated during the GitHub App creation.
  3. Click Save.
Individual users authorize SnapLogic to access their Git provider account.

Configure your Groundplex for the App Gateway

Configure the Groundplex you identified in Admin Manager by adding its Environment value to the GHES URL.

Before you begin
  • Ensure that the Groundplex is in the same network as your GHES host.
  • Log in to the environment configured for integration with the GHES.
  1. In Admin Manager, click the target Snaplex to open the Update Snaplex screen.
  2. Click the Node properties tab.
    On-premises Git configuration on Snaplex Node properties tab

  3. Under Global properties, click + Add new global property to add the gateway key-value pair.
    Attention: The GHES URL value encodes the Environment value from your Groundplex Settings tab, which routes all Git operations through that Snaplex. Add this property to only one Snaplex per environment. Configuring it on additional Snaplexes can cause intermittent Git operation failures.
  4. Enter the following values:
    • Key: jcc.app.gateway.github
    • Value: The GHES URL that you specified in the Git Integration settings.

      Example: https://myorg-sidekick-dev-github.appgateway.prod.snaplogic.io:8095

  5. Click Save.