Configure GitHub Enterprise Server and the Git Integration

Configure GitHub Enterprise Server and the SnapLogic Git Integration.

The SnapLogic Git Integration supports the on-premises GitHub Enterprise Server (GHES) with the app gateway and use of a Groundplex. 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. Configure the network with the following settings:
    Destination: SnapLogic 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 SnapLogic environment

Configure the Git Integration in Classic Manager or Admin Manager:

  1. In SnapLogic Manager, go to Settings > Git Integration > Configure Git.
  2. In the Configure Git dialog, set Git integration type as GitHub Enterprise Server, and fill in the settings.
    GHES configuration form.

    Field 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 gateway URL used for the secure connection between your Groundplex and on-premises GHES machine.
    Auth URL The public Homepage URL used in the GitHub App creation.
    Note: 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 SnapLogic environment

  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 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 gateway URL used for the secure connection between your Groundplex and on-premises GHES machine.
    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

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

  3. Under Global Properties, click Plus Icon to add the gateway key-value pair.
  4. Enter the information about the app gateway.
    • Key: jcc.app.gateway.github
    • Value: The URL has the following format:

      org-location-environment-appname.controlportname:port

      Use the following segments to build in the GHES URL in the following order:

      • org: The environment (Org) name without hyphens (-). For example: myenterprise-snap-test should be passed as myenterprisesnaptest.
      • location: The location of your groundplex. Always sidekick.
      • environment: The value in the Environment field in the Snaplex Settings tab.
      • appname: github
      • controlplanename: The value for the control plane your Org connects to:
        • Global production: appgateway.prod.snaplogic.io:8095
        • EMEA production: appgateway.emea.snaplogic.io:8095
        • UAT: appgateway.uat.snaplogic.io:8095

      For example: Assuming a dev environment named test-pipes on the Global control plane, the gateway URL would be as follows:

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

  5. Click Update.
  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 node type to add the gateway key-value pair.
  4. Enter the information about the app gateway.
    • Key: jcc.app.gateway.github
    • Value:
    • Value: the URL has the following format:

      org-location-environment-appname.controlportname:port

      Use the following segments to build in the GHES URL in the order listed:

      • org: Org name without hyphens (-). For example: myenterprise-snap-test should be passed as myenterprisesnaptest.
      • location: location of your groundplex. Always sidekick.
      • environment: the value in the Environment field in the Snaplex Settings tab.
      • appname: github
      • controlplanename: the value for the control plane your Org connects to:
        • Production - Global: appgateway.prod.snaplogic.io:8095
        • Production - EMEA: appgateway.emea.snaplogic.io:8095
        • UAT: appgateway.uat.snaplogic.io:8095

      For example: Assuming a dev environment named test-pipes on the Global control plane, the gateway URL would be as follows:

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

  5. Click Save.