Git integration: GHES – Create GitHub App

Overview

To enable interaction between GHES and SnapLogic,
  • A GHES administrator must create a GitHub App in GHES.
  • A network administrator must configure the network to allow communication between GHES and the SnapLogic control plane.
  • A SnapLogic Org admin (Environment admin) must configure the Org to integrate with GHES.

This is the first step.

  • A subscription to the Git Integration for GHES
  • GHES administrator permissions
  1. Create and authorize the SnapLogic app as a GitHub App.
    1. Follow the GitHub instructions to create a new GitHub App.

      Register New GitHub App dialog

      Field Description / Recommended Setting
      GitHub App name The name of your GitHub App.

      Example: snaplogic-app

      Homepage URL The full URL to the GitHub app’s website. Users will 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
      Note: Save the general information about the App including the App ID, which will be required for SnapLogic configuration.
    2. Install the newly created GitHub App for the appropriate GHES organization.
    3. 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.
The SnapLogic Org admin would require the following information for the Git Integration 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.