Repository Hosting Service Integrations > Configure Repository Hosting Service Integrations

Top |Previous |Next

Configure GitLab Integration

There are two ways to create a GitLab configuration: automatically via the Easy Add Repository wizard and manually via the Configure Remote Systems tab. The first approach is useful for adding new configurations, while the second allows adding new and modifying existing configurations. This section describes both of these ways.

Additionally, you can create auto-polling configuration to periodically look for new repositories on GitHub server and suggest creating integrations for them.

Creating GitLab configuration via the Easy Add Repository wizard
Creating GitLab configuration via the Configure Remote Systems tab

Important. In order to use integration, your Collaborator server must be accessible to the remote system and vice versa. Configure a firewall or enable tunneled connections to expose your local Collaborator server to the Internet.

Creating GitLab configuration via the Easy Add Repository wizard

1.Open the Collaborator login page in a browser and log in to Collaborator as an administrator.
2.In Collaborator, go to Admin > Integrations > Repository Hosting Services
3.Switch to the Easy Add Repository tab.
4.Select GitLab in the the Add repository for combobox and click Next.
This will display the Easy Add Repository wizard. It helps to setup remote repository configuration on the Collaborator side and add automatically the webhook on the GitLab side.
 
admin-remote-system-gitlab-easy-add
5.Specify settings in the the following sections of the wizard:

Connection settings

Setting

Description

GitLab host name

Required for repositories on self-hosted servers. Specifies the host name of your GitLab Enterprise or GitLab Community server.

Group

Required only for group owned repositories (https://gitlab.com/GroupName/RepoName). Specifies the name of your GitLab group account (GroupName).

Private token

Required. The private token for the GitLab account to be tracked.

You can copy it from the Access Tokens section of User Settings on GitLab. You will need to enable the api scope for this token.

Webhooks secret token

Optional. The secret token for webhook events. The secret token could be set when creating/modifying a webhook on GitLab server. If provided, must be at least 8 characters long.

To learn more about webhook settings on the GitLab side, see GitLab documentation:

https://gitlab.com/help/user/project/integrations/webhooks.md

After specifying connection settings, you can click Load repositories to retrieve a list of repositories available for the specified user or group.

Select repositories

Setting

Description

Select repositories

Optional. Displays a list of repositories available for the specified user or group.

Select which repositories you need to track. Use Ctrl+click or Shift+click for multi-selection.

If any of the repositories were chosen, the wizard will display the Create for selected button below the settings section.

If none of the repositories were chosen, the wizard will display the Create for all button below the settings section.

Override existing configurations

Optional. Specifies whether to override existing configurations that track the same repository URI.

Branches

Setting

Description

Branches to track

Optional. The names of branches to track changes and create reviews on merge requests and direct pushes. Separate multiple branch names with commas.

You may use Java-style regular expressions to match specific branch names, or you may use the '*' wildcard (alone, or separated by comma) to match all branches.

If this field is empty, "main" branch will be tracked.

Ignore pushes for branches

Optional. Specifies branches for which Collaborator will not create reviews on direct pushes. You can enter one or several branch names. Separate multiple branch names with commas.

You may use Java-style regular expressions to match specific branch names, or you may use the '*' wildcard (alone, or separated by comma) to match all branches.

Pull request actions

Setting

Description

Create review automatically

If enabled, reviews for merge request are created automatically.

If disabled, user can add merge request to a review manually through Remote System links, by API call or by special command directly from merge request.

When review completed

Optional. Specifies what action to perform when a review corresponding to a merge request was accomplished.

Do nothing: Do not perform any action.

Merge the merge request: Merge the request that corresponds to a review.

Merge the merge request and delete source branch: Merge the request that corresponds to a review and then delete the respective branch.

The exact merge strategy cannot be specified on the integration level. If any of merge actions was chosen, merge request will be merged according to  project settings on the GitLab side (Settings > General > Merge requests). To learn more about merge request strategies, see GitLab documentation.

Allow users to select merge strategy in review

If enabled, regular users would be able to choose merge request merge strategies in each separate review.

If disabled, all merge requests would behave as specified by the "When review completed" setting.

Wait for signature (if enabled) before merge

Optional. Effective, if any of merge actions was selected in "When review completed" setting.

If enabled Collaborator will wait for the completed review to be signed off before merging the respective merge request. Otherwise, merge request will be merged immediately, even if the review have not been signed yet.

Allow to complete review with conflicts in pull request

Should it be possible to complete a review if there are conflicts in the respective pull request.

When review cancelled/deleted/rejected

Optional. Specifies what action to perform when a review corresponding to a merge request was cancelled, deleted or rejected.

Do nothing: Do not perform any action.

Close merge request: Close merge request that corresponds to a review.

Auto assign reviewers

Whether to assign Collaborator reviewers when some specific users were added as merge request reviewers on the Gitlab side and integration can match those Gitlab users with Collaborator users.

Reopen a review when

Optional. Specifies in what cases Collaborator should reopen completed reviews. May include any combination of the following:

when a push to a merge request is made,
when a comment is added to a merge request,
when a comment is added to commit which is a part of a merge request

Review settings

Setting

Description

Default review template

Optional. Specifies the initial template that will be chosen when creating review (if set to "None", the first template in the list will be chosen).

The value of this setting overrides the value of Default review template setting specified on group level.

Sync groups

Specifies whether Collaborator should synchronize its native groups with group information from the GitLab server. Effective if the global Enable Group Sync setting is turned on.

Once enabled, on every logging-in, Collaborator will check user membership in groups on the GitLab server, create new groups (if needed), and automatically add this user to the corresponding groups on the Collaborator server. See Syncing Groups and Their Members for details.

To ensure that Collaborator users do not have access to reviews that contain code from the repositories that they do not have access to, use the Restrict Access to Review Content settings.

Click the Create for selected button or the Create for all button to create repository integrations and automatically create webhooks for each repository in GitLab. To stop suggesting integrations for some specific repositories, select these repositories in the list and click Ignore selected.

For every repository a separate configuration will be created in Collaborator and a webhook will be added in GitLab.

Now you need to link some Collaborator user account to the GitLab account of repository owner.

 

Creating GitLab configuration via the Configure Remote Systems tab

1.Open the Collaborator login page in a browser and log in to Collaborator as an administrator.
2.In Collaborator, go to Admin > Integrations > Repository Hosting Services
3.Switch to the Configure Remote Systems tab.
4.In the New Remote System Configuration section, select GitLab and click Create.
5.Collaborator will display a page with configuration settings. Specify settings in the following sections:

GitLab settings

Setting

Description

Title

Required. The configuration name as it will be displayed in Collaborator's user interface.

GitLab repo URI

Required. The URI of GitLab repository to be tracked.

For instance: https://gitlab.com/gitlab-org/gitlab-ee.git

You can copy it from the Clone URI field of the repository's main page on GitLab.

GitLab hostname

Optional. The URI of GitLab hostname with subdomain.

It is mandatory when the repository URI contains a subdomain.

If the repository URL is https://gitlab.com/gitlab-org/gitlab-ee.git, you need to copy the hostname with the subdomain, for example : https://gitlab.com/gitlab-org .

Private token

Required. The private token for the GitLab account to be tracked.

You can copy it from the Access Tokens section of User Settings on GitLab. You will need to enable the api scope for this token.

Webhooks Secret token

Optional. The secret token for webhook events. The secret token could be set when creating/modifying a webhook on GitLab server. If provided, must be at least 8 characters long.

To learn more about webhook settings on the GitLab side, see GitLab documentation:

https://gitlab.com/help/user/project/integrations/webhooks.md

Webhook status

Indicates current status of repository webhook:

Webhook is absent - A webhook is not created.

Webhook isn't active - A webhook is created, but is inactive.

Up and running - A webhook is active.

To create or activate a webhook, you can press the Update webhook button.

pay-attention Click this button, when you set up integration with your repository for the first time.

Branches

Setting

Description

Branches to track

Optional. The names of branches to track changes and create reviews on merge requests and direct pushes. Separate multiple branch names with commas.

You may use Java-style regular expressions to match specific branch names, or you may use the '*' wildcard (alone, or separated by comma) to match all branches.

If this field is empty, "main" branch will be tracked.

Ignore pushes for branches

Optional. Specifies branches for which Collaborator will not create reviews on direct pushes. You can enter one or several branch names. Separate multiple branch names with commas.

You may use Java-style regular expressions to match specific branch names, or you may use the '*' wildcard (alone, or separated by comma) to match all branches.

Pull request actions

Setting

Description

Create review automatically

If enabled, reviews for merge request are created automatically.

If disabled, user can add merge request to a review manually through Remote System links, by API call or by special command directly from merge request.

When review completed

Optional. Specifies what action to perform when a review corresponding to a merge request was accomplished.

Do nothing: Do not perform any action.

Merge the merge request: Merge the request that corresponds to a review.

Merge the merge request and delete source branch: Merge the request that corresponds to a review and then delete the respective branch.

The exact merge strategy cannot be specified on the integration level. If any of merge actions was chosen, merge request will be merged according to  project settings on the GitLab side (Settings > General > Merge requests). To learn more about merge request strategies, see GitLab documentation.

Allow users to select merge strategy in review

If enabled, regular users would be able to choose merge request merge strategies in each separate review.

If disabled, all merge requests would behave as specified by the "When review completed" setting.

Wait for signature (if enabled) before merge

Optional. Effective, if any of merge actions was selected in "When review completed" setting.

If enabled Collaborator will wait for the completed review to be signed off before merging the respective merge request. Otherwise, merge request will be merged immediately, even if the review have not been signed yet.

Allow to complete review with conflicts in pull request

Should it be possible to complete a review if there are conflicts in the respective pull request.

When review cancelled/deleted/rejected

Optional. Specifies what action to perform when a review corresponding to a merge request was cancelled, deleted or rejected.

Do nothing: Do not perform any action.

Close merge request: Close merge request that corresponds to a review.

Auto assign reviewers

Whether to assign Collaborator reviewers when some specific users were added as merge request reviewers on the Gitlab side and integration can match those Gitlab users with Collaborator users.

Reopen a review when

Optional. Specifies in what cases Collaborator should reopen completed reviews. May include any combination of the following:

when a push to a merge request is made,
when a comment is added to a merge request,
when a comment is added to commit which is a part of a merge request

Review settings

Setting

Description

Default review template

Optional. Specifies the initial template that will be chosen when creating review (if set to "None", the first template in the list will be chosen).

The value of this setting overrides the value of Default review template setting specified on group level.

Sync groups

Specifies whether Collaborator should synchronize its native groups with group information from the GitLab server. Effective if the global Enable Group Sync setting is turned on.

Once enabled, on every logging-in, Collaborator will check user membership in groups on the GitLab server, create new groups (if needed), and automatically add this user to the corresponding groups on the Collaborator server. See Syncing Groups and Their Members for details.

To ensure that Collaborator users do not have access to reviews that contain code from the repositories that they do not have access to, use the Restrict Access to Review Content settings.

Click Test connection to verify if you entered data correctly.

6.After you specified the values, click Save. This will create a configuration for the GitLab repository.
7.Click on Update Webhook button to add webhook for that repository on GitLab side.

Now you need to link some Collaborator user account to the GitLab account of repository owner.

To learn more about webhook settings on the GitLab side, see GitLab documentation:

https://gitlab.com/help/user/project/integrations/webhooks.md

Creating GitLab auto-polling configuration

Sections above describe how to add integrations for existing repositories. When some new repositories are created on a server, you may integrate them manually. Alternatively, you can setup GitLab auto-polling configuration that will periodically look for new repositories on the specified server, user or group and suggest creating integrations for them.

1.Log in to Collaborator as administrator. (To integrate with GitLab repositories, you need administrator privileges in Collaborator).
2.On the Collaborator main toolbar, click ADMIN, and then select Repository Hosting Services from the tree on the left. Then switch to the Repository Auto-Polling tab.
3.On the tab, select GitLab in the Add configuration box and click Next:
4.Collaborator will displays a page with connection details.
gitlab-auto-polling-settings
Fill in the edit boxes:

Setting

Description

Server URI

Required. The URI of GitLab server, user or group to be polled for new repositories.

Token

Required. The private token for the GitLab account to be tracked.

You can copy it from the Access Tokens section of User Settings on GitLab. You will need to enable the api scope for this token.

After specifying these values, you can click Test connection to verify if you entered data correctly.

5.After you specified the values, click Save. This will create an auto-polling configuration and display it in the Auto-Polling Configurations List.
6.Scroll down the Repository Auto-Polling tab and check that the Enable Auto-Polling setting is on and optionally change the Auto-Polling Interval setting.

Now Collaborator will automatically check if any new repositories were found on the specified server. Once found, it will notify administrators and suggest creating integrations with these newly created repositories via the Easy Add  Repository wizard.

Enable/Disable GitLab Integration

Once a new repository configuration is created, it is enabled automatically. However, you can enable and disable integration with GitLab servers manually. To do this:

1.Navigate to the Admin > Integrations screen.
2.Locate the Enable GitLab Integration setting and change it to Yes or No, respectively.

© 2003-2025 SmartBear Software. All rights reserved.