Unify Integrations
Logo
Gitlab

Gitlab

Logo

5 mins READ

GitLab is a web-based DevOps platform that provides a complete CI/CD toolchain for software development, enabling version control, collaboration, and automation. It integrates features like Git repository management, issue tracking, and pipeline creation in a single interface.

Integrating GitLab streamlines development workflows, enhances collaboration, automates CI/CD, and improves code quality and deployment efficiency.

Authentication

Before integrating Gitlab, ensure you have the following information: 

  • Connection Name: Choose a descriptive name for your Gitlab connection to help you identify it within your application or integration settings. A meaningful name, like "MyAppGitlabIntegration," helps maintain organization, especially when managing multiple integrations.

  •  Authentication Type: Select the type of authentication to connect to your Gitlab account securely: 

    • Access Token

    • No Auth

Access Token based authentication

Use a personal access token to securely connect to GitLab. Tokens provide granular access control and are tied to a user account. This method is ideal for automation and integrations. Follow the steps to get your access token in GitLab:

  1. Log in to your GitLab account.

  2. Click on your avatar in the top-right corner of the left menu and select "Edit Profile".

  3. In the left menu, select Access Tokens under "Personal."

  4. Enter a descriptive name for your token and (optionally) set an expiration date.

  5. Select the required scopes (e.g., api, read_repository).

  6. Click Create personal access token and copy the generated token. Store it securely, as it provides access to your Gitlab account.

    Frame 100.png
    Frame 100.png

No Auth

Choose this option when no authentication is required

Scopes 

ScopeDescription
apiGrants complete read/write access to the API, including all groups and projects, the container registry, the dependency proxy, and the package registry.
read_apiGrants read access to the API, including all groups and projects, the container registry, and the package registry.
read_userGrants read-only access to your profile through the /user API endpoint, which includes username, public email, and full name. Also grants access to read-only API endpoints under /users.
create_runnerGrants create access to the runners.
manage_runnerGrants access to manage the runners.
k8s_proxyGrants permission to perform Kubernetes API calls using the agent for Kubernetes.
read_repositoryGrants read-only access to repositories on private projects using Git-over-HTTP or the Repository Files API.
write_repositoryGrants read-write access to repositories on private projects using Git-over-HTTP (not using the API).
read_registryGrants read-only access to container registry images on private projects.
write_registryGrants write access to container registry images on private projects. You need both read and write access to push images.
ai_featuresGrants access to GitLab Duo related API endpoints.

Actions 

ActionDescription
Create a file in repositoryCreates a file in repository
Create branchCreates a repository branch in GitLab
Create fileCreates a file in a repository in GitLab
Create issueCreates an issue in GitLab
Create merge requestCreates a merge request in GitLab
Create projectCreates a project in GitLab
Create trigger tokenCreates a trigger token for a project in GitLab
Delete a file from repositoryDeletes a file from a repository in GitLab
Delete branchDeletes a branch in GitLab
Delete fileDeletes a file from a repository in GitLab
Delete issueDeletes an issue in GitLab
Delete merge requestDeletes a merge request in GitLab
Delete pipelineDeletes a pipeline in GitLab
Delete projectDeletes a project in GitLab
Get issueGets an issue by ID from GitLab
Get namespaceGets namespace by ID from GitLab
Get projectGets project by ID from GitLab
List eventsLists events of a project from GitLab
List namespacesLists namespaces from GitLab
List pipelinesLists project pipelines from GitLab
List trigger tokensLists trigger tokens for a project from GitLab
Merge merge requestMerges a merge request in GitLab
Trigger pipelineTriggers a pipeline by using a token in GitLab
Update a file in repositoryUpdates a file in repository in GitLab (repeated entry)
Update fileUpdates a file in repository in GitLab
Update issueUpdates an issue in GitLab
Update merge requestUpdates a merge request in GitLab
Update projectUpdates a project in GitLab

Triggers 

TriggerDescription
New or updated pipelineTriggers when an pipeline is created or updated in Gitlab
On new eventTriggers immediately when a new event occurs in GitLab