Configure the Git Integration to use GitLab on-premises (Beta)
Configure the Git integration for self-managed GitLab.
The Git Integration has beta support for a self-managed GitLab installation deployed on-premises or in the cloud. The SnapLogic Platform supports a single Groundplex per environment for Git operations. SnapLogic provides an App Gateway, a secure transparent proxy, to route Git requests through your Groundplex to the GitLab server, providing an additional layer of security.
To enable use of self-managed GitLab for tracking SnapLogic assets, you need the following:
- A subscription for the SnapLogic Git Integration
- Administrative permission for the GitLab group
- SnapLogic Environment (Org) admin permission
Repository visibility
We recommend that you configure the Git Integration to only access repositories dedicated to SnapLogic assets. This improves the performance of authorization and Git operations in the SnapLogic Platform. It also improves usability by reducing the list of repositories that pipeline developers must choose from during checkout.
- comma-separated list
- group_name/* means all the repositories right under the root, not in subgroups.
- group_name/** means the whole tree
- group_name/subgroup_1/*, group_name/subgroup_1/subgroup_2/* or _name/subgroup_1/subgroup_2/…/subgroup_n/* means all the repositories under the subgroup_1, subgroup_2 or subgroup_n.
- group_name/subgroup_1/**, group_name/subgroup_1/subgroup_2/**, group_name/subgroup_1/subgroup_2/…/subgroup_n/** means all the repositories under the subgroup_1, subgroup_2, or subgroup_n and their descendants subgroups. Here, the first case covers all the others.
- group_name/repositorya, group_name/subgroup_1/repositoryb, group_name/subgroup_1/repositoryc, group_name/subgroup_1/subgroup_2/repositoryd or group_name/subgroup_1/subgroup_2/…/subgroup_n/repositorye means the specific repositories listed: repositorya, repositoryb, repositoryc, repositoryd, and repositorye.
To configure the Git integration for self-managed GitLab:
Create an application in GitLab
To enable GitLab to track SnapLogic assets, create an application that configures connectivity:
- Log in to GitLab.
- Navigate to your Group.
- Select Settings.
- Click Applications.
- Click Add a new application.
- Enter a name.
- Specify these values:
- For Redirect URI, enter the address of your control plane:
- Production - Global:
https://elastic.snaplogic.com/api/1/rest/asset/app/oauthcallback - Production - EMEA:
https://emea.snaplogic.com/api/1/rest/asset/app/oauthcallback - UAT:
https://uat.elastic.snaplogic.com/api/1/rest/asset/app/oauthcallback
Important: This Redirect URI is the same as the Callback URL that you specify to configure the Git Integration in your SnapLogic environment. - Production - Global:
- Leave the Confidential box checked.
- For Scopes select the following:
- api
- read_api
- read_user
- write_repository
- Click Save application.
- Click the application to view it and copy the secret to use when configuring the SnapLogic environment.
- For Redirect URI, enter the address of your control plane:
Configure the Groundplex
Configure the Groundplex to point to your GitLab server by adding the following node property. Configure the Groundplex before you configure the SnapLogic environment, because the Git Integration validates its settings through this Groundplex.
- In the left pane of Admin Manager, click Snaplexes.
- Select the Groundplex to open the Update Snaplex screen.
- Click the Node properties tab:

- In the Global properties section, click + Add new global property and enter the following values:
- Key:
jcc.app.gateway.gitlab - Value: The public URL of your GitLab server. Example: https://gitlab.example.com
- Key:
- Click Save.
Configure the SnapLogic environment
To complete the configuration, the SnapLogic Environment Admin configures Git Integration settings in Admin Manager:
- Open Admin Manager.
- From the left navigation panel under System Configurations select Git Integration.
- From the Git integration type dropdown list, select GitLab on-premises. The configuration page opens:

- Enter the following values:
- App ID: The Application ID from the GitLab application.
- Namespaces: An optional, comma-separated list of repository paths that specifies which repositories are visible to developers in the SnapLogic interface. Refer to Repository visibility for the acceptable syntax.
- Client secret: The secret copied from the GitLab application.
- GitLab URL: The App Gateway URL that routes Git requests
between your Groundplex and the GitLab server. Construct the URL using the following
format:
https://org-sidekick-environment-gitlab.controlplane:8095
Where:
- org: Your environment name with hyphens, special characters,
and spaces removed. This doesn't change the environment name, but the URL
requires this form. For example,
myenterprise-snap-testbecomesmyenterprisesnaptest. - environment: The value from the
Environment field on your Groundplex
Settings tab, with hyphens, special characters, and
spaces removed. For example,
dev-12becomesdev12. - 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
- Production - Global:
Example: For an environment named
testwith an Environment value ofdevon the Global control plane:https://test-sidekick-dev-gitlab.appgateway.prod.snaplogic.io:8095
- org: Your environment name with hyphens, special characters,
and spaces removed. This doesn't change the environment name, but the URL
requires this form. For example,
- Auth URL: The URL for your GitLab server.
- Authorized scopes:
apiread_apiread_userwrite_repository - Callback URL: The Redirect URI from
the GitLab application, which is the address of your control plane:
- Production - Global:
https://elastic.snaplogic.com/api/1/rest/asset/app/oauthcallback - Production - EMEA:
https://emea.snaplogic.com/api/1/rest/asset/app/oauthcallback - UAT:
https://uat.elastic.snaplogic.com/api/1/rest/asset/app/oauthcallback
Important: This Callback URL is the same as the Redirect URI that you specified in the GitLab application. - Production - Global:
- Click Validate. You must validate the connection before you can
save it.Important: Validation requests the status endpoint on the GitLab URL through the App Gateway. If validation fails, confirm that you added the
jcc.app.gateway.gitlabproperty to your Groundplex. Refer to Configure the Groundplex. - Click Save.