On this page:
Enabling the SnapLogic Git Integration for GitHub Enterprise Server (GHES) requires the following:
A subscription to the Git Integration for GHES
Configuration of GHES and the network
Configuration of the SnapLogic Org
A GHES administrator must create an App in GHES to enable interaction between GHES and SnapLogic. In addition to the App, the network must be configured to allow communication between GHES and the SnapLogic control plane.
The following sections describe procedures for:
Creating the GHES SnapLogic App
Configuring the Network
The steps outlined in this section are subject to change. If necessary, use the latest GitHub documentation on creating Apps for the general procedures.
As a GHES administrator, create and authorize a SnapLogic App as follows:
Click your profile photo to display the dropdown menu.
Click Your organizations.
To the right of the organization, click Settings.
In the left sidebar, click Developer settings.
In the left sidebar, click GitHub Apps.
Click New GitHub App. The Register new GitHub App page opens:
For GitHub App name, enter the appropriate information. For example, snaplogic-app.
In the Write tab, enter a description of the App.
For the Homepage URL, enter the full URL to the App’s website. Users will install the App from this page. For example: HTTPS://<your-GHES-server-URL>/github-apps/snaplogic-app/.
Add a Callback URL in the following format:https://elastic.snaplogic.com/api/1/rest/asset/app/oauthcallback
Click Expire user authorization tokens.
Make sure the WebHook Active box is not checked.
Set Repository permissions as follows:
Contents: Read & write
Deployments: Read & write
Issues: Read & write
Pull Requests: Read & write
Under Where can this GitHub App be installed, select Any Account.
Click Create GitHub App. General information about the App displays including the App ID, which will be required for SnapLogic configuration.
Install the App for the appropriate GHES organization.
Use the buttons on the About page to generate and save a Client Secret and a Private Key. Generating Private keys will automatically download them in a .pem file.
If you are not the SnapLogic Org admin, please provide the following information to them for the Git Integration Settings:
The client secret and the .pem file that contains the Private Key.
The Public Link
The Client ID
The App ID
A network administrator must perform the following to enable communication between GHES and SnapLogic:
Add SnapLogic IP addresses to the network whitelist for access to the GHES server as described in Adding the SnapLogic Platform to Your Allow List.
Make sure the following GHES URLs are accessible from the SnapLogic Control Plane IP addresses, they will use the header: Accept: application/vnd.github.v3+json.
List app installations accessible to the user access token
List repositories accessible to the user access token
Get a single reference
Get Repo Contents
Get a Blob
Create a blob
List Repo Tags
Create New File
Create Git Tree
As a SnapLogic Org admin, configure GHES in Manager as follows:
From the left navigation, select Settings.
Scroll down to Git Integration and click Configure Git.
In the Configure Git dialog, select GitHub Enterprise Server from the dropdown:
In the Configure Git dialog, enter the appropriate values:
If you are not the GHES administrator that created the App for SnapLogic, you will need to get the following information from them:
For Client ID, enter the value stored in the GHES App.
For Client Secret, paste the secret. The Client Secret value will display in the field until you save the configuration. Then, it will not be visible and the only way to change is to replace it.
For GHES URL, enter the Public Link provided by the GHES administrator.
For App ID, enter the GHES App ID.
For Private Key, open the .pem file generated by GHES with any text editor. Copy and paste the RSA key.
Next, individual SnapLogic users will need to authorize SnapLogic to interact with GHES.
Performing GitHub Operations
Project APIs for GitHub Operations
Have feedback? Email email@example.com | Ask a question in the SnapLogic Community
© 2017-2022 SnapLogic, Inc.