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:
Log in to your GitLab account.
Click on your avatar in the top-right corner of the left menu and select "
Edit Profile
".In the left menu, select Access Tokens under "
Personal
."Enter a descriptive name for your token and (optionally) set an expiration date.
Select the required scopes (e.g., api, read_repository).
Click Create personal access token and copy the generated token. Store it securely, as it provides access to your Gitlab account.
No Auth
Choose this option when no authentication is required
Scopes
Scope | Description |
| Grants complete read/write access to the API, including all groups and projects, the container registry, the dependency proxy, and the package registry. |
| Grants read access to the API, including all groups and projects, the container registry, and the package registry. |
| Grants 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. |
| Grants create access to the runners. |
| Grants access to manage the runners. |
| Grants permission to perform Kubernetes API calls using the agent for Kubernetes. |
| Grants read-only access to repositories on private projects using Git-over-HTTP or the Repository Files API. |
| Grants read-write access to repositories on private projects using Git-over-HTTP (not using the API). |
| Grants read-only access to container registry images on private projects. |
| Grants write access to container registry images on private projects. You need both read and write access to push images. |
| Grants access to GitLab Duo related API endpoints. |
Actions
Action | Description |
| Creates a file in repository |
| Creates a repository branch in GitLab |
| Creates a file in a repository in GitLab |
| Creates an issue in GitLab |
| Creates a merge request in GitLab |
| Creates a project in GitLab |
| Creates a trigger token for a project in GitLab |
| Deletes a file from a repository in GitLab |
| Deletes a branch in GitLab |
| Deletes a file from a repository in GitLab |
| Deletes an issue in GitLab |
| Deletes a merge request in GitLab |
| Deletes a pipeline in GitLab |
| Deletes a project in GitLab |
| Gets an issue by ID from GitLab |
| Gets namespace by ID from GitLab |
| Gets project by ID from GitLab |
| Lists events of a project from GitLab |
| Lists namespaces from GitLab |
| Lists project pipelines from GitLab |
| Lists trigger tokens for a project from GitLab |
| Merges a merge request in GitLab |
| Triggers a pipeline by using a token in GitLab |
| Updates a file in repository in GitLab (repeated entry) |
| Updates a file in repository in GitLab |
| Updates an issue in GitLab |
| Updates a merge request in GitLab |
| Updates a project in GitLab |
Triggers
Trigger | Description |
| Triggers when an pipeline is created or updated in Gitlab |
| Triggers immediately when a new event occurs in GitLab |