GitLab

The GitLab modules enable you to monitor and manage projects, issues, issue notes, commits, merge requests, merge request notes, repositories, branches, pipelines, jobs, tags, to-do items, labels, milestones, variables, snippets, groups, and more in your GitLab account.

Getting Started With GitLab

Prerequisites

  • A GitLab account

In order to use GitLab with Make, it is necessary to have a GitLab account. If you do not have one, you can create a GitLab account at gitlab.com.

Note

The module dialog fields that are displayed in bold (in the Make scenario, not in this documentation article) are mandatory!

Connecting GitLab to Make

Select the connection type:

Connection Type: GitLab (gitlab.com)

  1. Go to Make, and open the GitLab module's Create a connection dialog.

    61f26e80e037a.gif
  2. Enter the name of the connection to the Connection name field, and click Continue.

    After you click the Continue button, Make will redirect you to the GitLab website, where you will be prompted to sign in and grant Make access to your account.

    61f26e831d12d.png

    Confirm the dialog by clicking the Authorize button.

    The connection has been established. You can proceed with setting up the module.

Connection Type: GitLab (private server)

  1. Fill in the Create a connection dialog as follows:

    Connection name

    Enter the name of the connection.

    Domain

    Enter your GitLab server domain, e.g., gitlab.com (default), or gitlab.{yourServer}.com.

    Private token

    Enter your private token. For more details about creating a token please refer to the Personal Access Tokens documentation.

  2. Click Continue to establish a connection to your private GitLab server.

    The connection has been established. You can proceed with setting up the module.

Projects

Retrieves project details when a new project is created.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List All Projects.

Retrieves all projects in your account by the specified filter settings.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List All Projects.

Retrieves projects where the authenticated user is set as owner.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List User Projects.

Retrieves the users of the project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Project Users.

Retrieves project details.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single Project.

Issues

Triggers when a new issue is created or an existing issue is updated/closed/reopened.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project in which you want to watch issues.

Retrieves issue details.

Required Permissions: api

Connection

Establish a connection to your GitLab account.

Project

Select the project that contains the issue you want to retrieve details about.

Issue IID

Enter (map) the ID of the issue you want to retrieve details about.

Returns all issues by the specified filter settings.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Issues.

Returns all issues in a specified project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Project Issues.

Retrieves all issues assigned to a single project milestone.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get All Issues Assigned to a Single Milestone.

Retrieves all the issues that would be closed by merging the provided merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Issues That Will Close on Merge.

Creates a new project issue.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - New Issue.

Updates an existing project issue. This call is also used to mark an issue as closed.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Edit Issue.

Deletes an issue.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Delete an Issue.

Issue Notes

Triggered when a new comment is made on commits, merge requests, issues, and code snippets.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project you want to watch issue notes for.

Retrieves a list of all notes for a single issue.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Project Issue Notes.

Retrieves a single note for a specific project issue.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single Issue Note.

Creates a new note to a single project issue.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create New Issue Note.

Modifies an existing note of an issue.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Modify Existing Issue Note.

Pushes

Triggers when you push to the repository, except when pushing tags.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project you want to watch pushes for.

Commits

Retrieves comments of a commit in a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Modify Existing Issue Note.

Retrieves a list of repository commits in a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Repository Commits.

Retrieves a specific commit identified by the commit hash or name of a branch or tag.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get a Single Commit

Gets the diff of a commit in a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get the Diff of a Commit.

Adds a comment to a commit.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Post Comment to Commit.

Cherry picks a commit to a given branch.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Cherry Pick a Commit.

Triggers when a new merge request is created, an existing merge request was updated/merged/closed, or a commit is added in the source branch.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project you want to watch merge requests for.

Retrieves all merge requests by the filter settings.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Merge Requests.

Retrieves information about the merge request including its files and changes.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single MR Changes.

Retrieves all the issues that will be closed by merging the provided merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Issues That Will Close on Merge.

Retrieves information about a single merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single MR.

Retrieves a list of merge request commits.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single MR Commits.

Creates a new merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create MR.

Updates an existing merge request. You can change the target branch, title, or even close the MR.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Update MR.

Manually creates a to-do item for the current user on a merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create a Todo.

Merges changes submitted with merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Accept MR.

Only for admins and project owners. Deletes the merge request in question.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Delete a Merge Request.

Cancels a merge request when the pipeline succeeds.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Cancel Merge When Pipeline Succeeds.

Merge Request Notes

Retrieves a list of all notes for a single merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List All Merge Request Notes.

Returns a single note for a given merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single Merge Request Note.

Creates a new note for a single merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create New Merge Request Note.

Modifies the existing note of a merge request.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Modify Existing Merge Request Note.

Repositories

Retrieves a repository contributors list.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Contributors.

Retrieves a list of repository files and directories in a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Repository Tree.

Retrieves information about a file in the repository like name, size, or content.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Repository Tree.

Retrieves file content from a repository.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get File From Repository

Adds a file to the repository.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create New File in Repository.

Deletes an existing file from the repository.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Delete Existing File in Repository.

Branches

Searches for repository branches by the search term.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Repository Branches.

Retrieves repository branch details.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single Repository Branch.

Creates a new branch in the repository.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create Repository Branch.

Deletes a branch from the repository.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Delete Repository Branch.

Pipeline

Triggers on status change of Pipeline.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project in which you want to watch pipelines.

Retrieves all pipelines for the project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Project Pipelines.

Retrieves pipeline details.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get a Single Pipeline.

Retries failed builds in a pipeline.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Retry Jobs in a Pipeline.

Creates a new pipeline.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create a New Pipeline.

Cancels a pipeline's builds.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Cancel a Pipelines Jobs.

Jobs

Triggers on status change of a job.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project in which you want to watch jobs.

Retrieves a list of jobs in a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Jobs.

Retrieves a single job of a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get a Single Job.

Cancels a single job of a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Cancel a Job.

Triggers a manual action to start a job.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Play a Job.

Erases a job of a project (remove job artifacts and job log).

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Erase a Job.

Prevents artifacts from being deleted when expiration is set.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Keep Artifacts.

Tags

Triggers when you create (or delete) tags to the repository.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project you want to watch tags for.

Retrieves a list of repository tags from a project, sorted by name in reverse alphabetical order.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Project Repository Tags.

Retrieves a specific repository tag determined by its name.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get a Single Repository Tag.

Creates a new tag in the repository that points to the supplied ref.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create a New Tag.

Deletes a tag.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Delete a Tag.

To-do Items

Retrieves to-do item details when a new item is added.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get a List of Todos.

Retrieves a list of to-do items.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get a List of Todos.

Creates a to-do item for the authenticated user on an issue.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create a Todo.

Marks a single pending to-do item given by its ID for the current user as done.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Mark a Todo as Done.

Labels

Retrieves all labels in the project.

Required Permissions: api

Please find field descriptions in the -GitLab Developer Documentation - List Labels.

Retrieves label details.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get a Single Project Label.

Creates a new label for the given repository with the given name and color.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create a New Label.

Updates an existing label with new name or new color.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Edit an Existing Label.

Deletes a project label.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Delete a Label.

Milestones

Retrieves all milestones in the project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Project Milestones.

Retrieves milestone details.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single Milestone.

Creates a new project milestone.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create New Milestone.

Updates an existing project milestone.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Edit Milestone.

Deletes a milestone.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Delete Project Milestone.

Variables

Retrieves a list of a project’s variables.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Project Variables.

Retrieves details of a project’s specific variable.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Show Variable Details.

Creates a new variable.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create Variable.

Updates a project’s variable.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Update Variable.

Removes a project’s variable.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Remove Variable.

Wiki Pages

Triggers when a wiki page is created, updated, or deleted.

Required Permissions: api

Webhook name

Enter the name of the webhook.

Connection

Establish a connection to your GitLab account.

Project

Select the project you want to watch wiki pages for.

Snippets

Gets a list of all notes for a single snippet. Snippet notes are comments users can post to a snippet.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List All Snippets Notes.

Retrieves a single note for a given snippet.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Get Single Snippet Note.

Creates a new note for a single snippet. Snippet notes are comments users can post to a snippet.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create New Snippet Note.

Modifies an existing note of a snippet.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Modify Existing Snippet Note.

Groups

Retrieves a list of visible groups for the authenticated user based on specified filter settings.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Groups.

Creates a new project group.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - New Group.

Deployments

Retrieves a list of deployments in a project.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Project Deployments.

Releases

Creates a release.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Create a Release.

Updates a release.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - Update a Release.

Other

Get My Info

Retrieves current authenticated user's details.

Required Permissions: api

Please find field descriptions in the GitLab Developer Documentation - List Current User.

Allows you to perform a custom API call.

Required Permissions: api

Connection

Establish a connection to your GitLab account.

URL

Enter a path relative to https://www.gitlab.com/api/.For example: /v4/projects.

Note

For the list of available endpoints, refer to the GitLab API Documentation.

Method

Select the HTTP method you want to use:

GET

to retrieve information for an entry.

POST

to create a new entry.

PUT

to update/replace an existing entry.

PATCH

to make a partial entry update.

DELETE

to delete an entry.

Headers

Enter the desired request headers. You don't have to add authorization headers; we've already done this for you.

Query String

Enter the request query string.

Body

Enter the body content for your API call.

The following API call returns all projects you are a member of in your GitLab account:

URL:

/v4/projects

Method:

GET

61f26e840ce7e.png

The result can be found in the module's Output under Bundle > Body.

In our example, 2 projects were returned:

61f26e850f861.png

Changelog between GitLab [v2] and GitLab [1]:

Modules Deprecated in v2:

  • Watch Repository Branches (was not working)

  • Watch Commit/MR/Issue/Snippet Comments

  • Watch Merge Request Comments

New Modules in v2:

  • Search Group

  • Create a Group

  • List Merge Requests closing an Issue