GitLab
GitLab is a DevOps platform that provides Git repos, CI/CD pipelines, issue management, and more.
To integrate SEI with Gitlab, you must choose your Gitlab Account type. SEI supports connecting with the following:
Gitlab Cloud
Gitlab Private Cloud
Gitlab Enterprise
To integrate with Gitlab Enterprise, use the SEI Gitlab Enterprise integration.
Configure authentication
The SEI GitLab Cloud integration can use either OAuth or personal access token authentication.
For OAuth, your account must have the Reporter role or higher.
If you can't use OAuth, you must create a GitLab Personal Access Token to configure the SEI GitLab integration.
Log in to your GitLab account and create a Personal Access Token. For instructions, go to the GitLab documentation on Personal access tokens.
Select the
api
scope with completeread/write
API access.Copy the token somewhere that you can retrieve it when you configure the integration.
SEI fetches the history for both the builds jobs and triggers jobs for each pipeline from GitLab. The list of all jobs is available in the job selection tab under Deployment Frequency when configuring the DORA profile.
Connect with Gitlab Cloud
Select Integrations under Data Settings.
Select Available Integrations, locate the GitLab integration, and select Install.
Choose the type of Gitlab Account as Cloud.
Select the authentication medium as Using OAuth and follow the prompts to grant access to GitLab.
In Integration Name, enter a name for the integration.
Click on Validate Connection to run the pre-flight checks and validate the connection. Once successful, you'll have the integration set up under the Your Integrations tab.
Connect with Gitlab Private Cloud
To connect Harness SEI with Github Private Cloud, you'll need to use the Ingestion Satellite.
Follow the steps below to configure the integration:
Select Integrations under Data Settings.
Select Available Integrations, locate the GitLab integration, and select Install.
Choose the type of Gitlab Account as Gitlab Satellite and select the Gitlab Private Cloud option.
In Integration Name, enter a name for the integration.
Add a Description for the integration. (Optional)
In the URL field, add the URL where your Gitlab repository is deployed.
Enter the Personal Access Token that you previously generated for the Gitlab account.
If applicable, configure Additional Options:
Fetch PRs: Allow SEI to ingest PR data from Gitlab.
Fetch Issues: Allow SEI to ingest data from Gitlab Issues.
Fetch Projects: Allow SEI to ingest data from Gitlab Projects.
Fetch Commits: Allow SEI to ingest commit metadata from Gitlab.
Fetch Commit Files: Allow SEI to ingest data within commits from Gitlab.
Click on Download YAML File and save the
satellite.yml
file. Update it following the instructions here.
If you experience any issues while configuring the integration using the Ingestion Satellite, refer to the Ingestion Satellite Troubleshooting and FAQs.
Here’s a sample satellite.yml
file:
Connect with Gitlab On-Prem
To integrate SEI with GitLab Enterprise, you have two options based on the accessibility of your GitLab instance:
Private On-Premise GitLab (Gitlab Enterprise On-Prem): Integrate SEI with the private instance of GitLab using the Ingestion Satellite.
Public On-Premise GitLab: Integrate SEI with the on-premise instance of GitLab that is publicly accessible using the Personal Access Token.
Follow the steps below to configure the integration:
Use this authentication method to integrate SEI with Gitlab Enterprise (i.e. Gitlab Private On-Prem). Follow the steps below to configure the integration:
Choose the type of Gitlab Account as Gitlab Satellite and select Gitlab Enterprise On-Prem.
In Integration Name, enter a name for the integration.
Add a Description for the integration. (Optional)
In the URL field, add the URL where your Gitlab repository is deployed.
Enter the Personal Access Token that you previously generated for the Gitlab account.
If applicable, configure Additional Options:
Fetch PRs: Allow SEI to ingest PR data from Gitlab.
Fetch Issues: Allow SEI to ingest data from Gitlab Issues.
Fetch Projects: Allow SEI to ingest data from Gitlab Projects.
Fetch Commits: Allow SEI to ingest commit metadata from Gitlab.
Fetch Commit Files: Allow SEI to ingest data within commits from Gitlab.
Click on Download YAML File and save the
satellite.yml
file. Update it following the instructions here.
If you experience any issues while configuring the integration using the Ingestion Satellite, refer to the Ingestion Satellite Troubleshooting and FAQs.
Here’s a sample satellite.yml
file:
Supported metadata fields
Use the following optional metadata fields to optimize the ingestion functionality while configuring the integration using the Ingestion Satellite:
Check Project Membership
check_project_membership
The supported values are True/False. By default, this field is set to True
.
When set to True
, SEI selectively considers projects based on token owner membership. For self-hosted Gitlab instances, switching to False
enables SEI to fetch all projects, regardless of the membership. You should never disable this for cloud Gitlab instances.
Fetch PR Patches
fetch_pr_patches
The supported values are True/False
This field determines whether to retrieve patches or file differentials for Pull Requests (PRs).
Fetch Commit Patches
fetch_commit_patches
The supported values are True/False
This field governs the inclusion of commit patches or file differentials in the data.
Fetch Pipelines
fetch_pipelines
The supported values are True/False
This field specifies whether to fetch pipeline data.
PR Commit Limit
pr_commit_limit
Default value: 250
This field sets a cap on the number of commits fetched per Pull Request.
Last updated