Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

GitLab connector

OAuth 2.0Developer ToolsCollaboration

Connect to GitLab to manage repositories, issues, merge requests, pipelines, CI/CD, users, groups, and DevOps workflows.

GitLab connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your GitLab credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the GitLab connector so Scalekit handles the OAuth 2.0 flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find GitLab and click Create.

      • Click Use your own credentials and copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Copy redirect URI from Scalekit dashboard

      • Go to GitLab Applications settings (User SettingsApplications) and open or create your OAuth application.

      • Paste the copied URI into the Redirect URI field and click Save application.

        Add redirect URI and scopes in GitLab OAuth app

      • Under Scopes, select the permissions your agent needs:

        ScopeAccess grantedUse when
        apiFull read/write access to all API endpointsMost tools — recommended for full access
        read_userCurrent user’s profilegitlab_current_user_get only
        read_apiRead-only access to all API endpointsRead-only agents
        read_repositoryRead access to repositoriesFile and commit reads only
        write_repositoryPush access to repositoriesgitlab_file_create, gitlab_file_update, gitlab_branch_create
    2. Get client credentials

      After saving the application, GitLab shows the Application ID and Secret on the application detail page:

      GitLab application detail page with Application ID and Secret

      • Application ID — listed on the app’s main settings page
      • Secret — shown only once after creation; if you lose it, regenerate it from the same page
    3. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter your credentials:

        • Client ID — paste your GitLab Application ID
        • Client Secret — paste your GitLab Secret

        Add GitLab credentials in Scalekit dashboard

      • Click Save.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'gitlab'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize GitLab:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'gitlab_current_user_get',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Get branch, milestone, user — Get details of a specific branch in a GitLab repository
  • Unstar project — Unstar a GitLab project
  • List merge request commits, namespaces, issue labels — List commits in a specific merge request
  • Search project, global — Search within a specific GitLab project for issues, merge requests, commits, code, and more
  • Create label, deploy key, project variable — Create a new label in a GitLab project
  • Delete milestone, tag, project — Delete a milestone from a GitLab project

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

gitlab_branch_create#Create a new branch in a GitLab repository.3 params

Create a new branch in a GitLab repository.

NameTypeRequiredDescription
branchstringrequiredThe name of the new branch.
idstringrequiredThe project ID (numeric) or URL-encoded path.
refstringrequiredThe source branch, tag, or commit SHA to branch from.
gitlab_branch_delete#Delete a branch from a GitLab repository.2 params

Delete a branch from a GitLab repository.

NameTypeRequiredDescription
branchstringrequiredThe name of the branch to delete.
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_branch_get#Get details of a specific branch in a GitLab repository.2 params

Get details of a specific branch in a GitLab repository.

NameTypeRequiredDescription
branchstringrequiredThe name of the branch.
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_branches_list#List repository branches for a GitLab project.4 params

List repository branches for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalFilter branches by name.
gitlab_commit_comment_create#Add a comment to a specific commit.5 params

Add a comment to a specific commit.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
notestringrequiredThe comment text.
shastringrequiredThe commit SHA.
lineintegeroptionalLine number for an inline comment.
pathstringoptionalFile path for an inline comment.
gitlab_commit_comments_list#List comments on a specific commit.2 params

List comments on a specific commit.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
shastringrequiredThe commit SHA.
gitlab_commit_diff_get#Get the diff of a specific commit.2 params

Get the diff of a specific commit.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
shastringrequiredThe commit SHA.
gitlab_commit_get#Get details of a specific commit by its SHA.2 params

Get details of a specific commit by its SHA.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
shastringrequiredThe commit SHA.
gitlab_commits_list#List repository commits for a GitLab project.8 params

List repository commits for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
authorstringoptionalFilter commits by author name or email.
pageintegeroptionalPage number for pagination.
pathstringoptionalFilter commits by file path.
per_pageintegeroptionalNumber of results per page (max 100).
ref_namestringoptionalThe branch or tag name to list commits from.
sincestringoptionalOnly commits after this date are returned (ISO 8601 format).
untilstringoptionalOnly commits before this date are returned (ISO 8601 format).
gitlab_compare_refs#Compare two refs (branches, tags, or commits) in a GitLab repository.4 params

Compare two refs (branches, tags, or commits) in a GitLab repository.

NameTypeRequiredDescription
fromstringrequiredThe source branch, tag, or commit SHA to compare from.
idstringrequiredThe project ID (numeric) or URL-encoded path.
tostringrequiredThe target branch, tag, or commit SHA to compare to.
straightstringoptionalComparison method: 'true' for straight diff, 'false' for merge base.
gitlab_current_user_get#Get the currently authenticated user's profile.0 params

Get the currently authenticated user's profile.

gitlab_current_user_ssh_keys_list#List SSH keys for the currently authenticated user.0 params

List SSH keys for the currently authenticated user.

gitlab_deploy_key_create#Create a new deploy key for a GitLab project.4 params

Create a new deploy key for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
keystringrequiredThe SSH public key content.
titlestringrequiredA descriptive title for the deploy key.
can_pushstringoptionalIf 'true', the deploy key has write access.
gitlab_deploy_key_delete#Delete a deploy key from a GitLab project.2 params

Delete a deploy key from a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
key_idintegerrequiredThe numeric ID of the deploy key to delete.
gitlab_deploy_keys_list#List deploy keys for a GitLab project.1 param

List deploy keys for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_file_create#Create a new file in a GitLab repository.8 params

Create a new file in a GitLab repository.

NameTypeRequiredDescription
branchstringrequiredThe branch to create the file on.
commit_messagestringrequiredThe commit message for creating this file.
contentstringrequiredThe file content (plain text or base64 encoded).
file_pathstringrequiredURL-encoded file path in the repository.
idstringrequiredThe project ID (numeric) or URL-encoded path.
author_emailstringoptionalThe author's email for the commit.
author_namestringoptionalThe author's name for the commit.
encodingstringoptionalThe encoding type: 'text' or 'base64'.
gitlab_file_delete#Delete a file from a GitLab repository.4 params

Delete a file from a GitLab repository.

NameTypeRequiredDescription
branchstringrequiredThe branch to delete the file from.
commit_messagestringrequiredThe commit message for deleting this file.
file_pathstringrequiredURL-encoded file path in the repository.
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_file_get#Get a file's content and metadata from a GitLab repository.3 params

Get a file's content and metadata from a GitLab repository.

NameTypeRequiredDescription
file_pathstringrequiredURL-encoded file path in the repository.
idstringrequiredThe project ID (numeric) or URL-encoded path.
refstringrequiredThe branch, tag, or commit SHA to get the file from.
gitlab_file_update#Update an existing file in a GitLab repository.6 params

Update an existing file in a GitLab repository.

NameTypeRequiredDescription
branchstringrequiredThe branch to update the file on.
commit_messagestringrequiredThe commit message for updating this file.
contentstringrequiredThe new file content.
file_pathstringrequiredURL-encoded file path in the repository.
idstringrequiredThe project ID (numeric) or URL-encoded path.
last_commit_idstringoptionalLast known file commit ID (for conflict detection).
gitlab_group_create#Create a new GitLab group or subgroup.5 params

Create a new GitLab group or subgroup.

NameTypeRequiredDescription
namestringrequiredThe name of the group.
pathstringrequiredURL-friendly path slug for the group.
descriptionstringoptionalOptional group description.
parent_idintegeroptionalID of the parent group (for subgroups).
visibilitystringoptionalVisibility level: private, internal, or public.
gitlab_group_delete#Delete a GitLab group. This is an asynchronous operation (returns 202 Accepted).1 param

Delete a GitLab group. This is an asynchronous operation (returns 202 Accepted).

NameTypeRequiredDescription
idstringrequiredThe group ID (numeric) or URL-encoded path.
gitlab_group_get#Get a specific group by numeric ID or URL-encoded path.1 param

Get a specific group by numeric ID or URL-encoded path.

NameTypeRequiredDescription
idstringrequiredThe group ID (numeric) or URL-encoded path.
gitlab_group_member_add#Add a member to a GitLab group.3 params

Add a member to a GitLab group.

NameTypeRequiredDescription
access_levelintegerrequiredAccess level for the member. 10=Guest, 20=Reporter, 30=Developer, 40=Maintainer, 50=Owner.
idstringrequiredThe group ID (numeric) or URL-encoded path.
user_idintegerrequiredThe numeric ID of the user to add.
gitlab_group_member_remove#Remove a member from a GitLab group.2 params

Remove a member from a GitLab group.

NameTypeRequiredDescription
idstringrequiredThe group ID (numeric) or URL-encoded path.
user_idintegerrequiredThe numeric ID of the user to remove.
gitlab_group_members_list#List members of a GitLab group.4 params

List members of a GitLab group.

NameTypeRequiredDescription
idstringrequiredThe group ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
querystringoptionalFilter members by name.
gitlab_group_projects_list#List projects belonging to a GitLab group.5 params

List projects belonging to a GitLab group.

NameTypeRequiredDescription
idstringrequiredThe group ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalFilter projects by name.
visibilitystringoptionalFilter by visibility level: public, internal, or private.
gitlab_group_update#Update a GitLab group's settings.4 params

Update a GitLab group's settings.

NameTypeRequiredDescription
idstringrequiredThe group ID (numeric) or URL-encoded path.
descriptionstringoptionalUpdated group description.
namestringoptionalNew name for the group.
visibilitystringoptionalNew visibility level: private, internal, or public.
gitlab_groups_list#List groups accessible to the authenticated user.5 params

List groups accessible to the authenticated user.

NameTypeRequiredDescription
min_access_levelintegeroptionalMinimum access level filter (10=Guest, 20=Reporter, 30=Developer, 40=Maintainer, 50=Owner).
ownedstringoptionalIf 'true', limits to groups explicitly owned by the current user.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalSearch groups by name.
gitlab_issue_create#Create a new issue in a GitLab project.7 params

Create a new issue in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
titlestringrequiredThe title of the issue.
assignee_idsstringoptionalComma-separated list of user IDs to assign.
descriptionstringoptionalDetailed description of the issue (Markdown supported).
due_datestringoptionalDue date for the issue in YYYY-MM-DD format.
labelsstringoptionalComma-separated list of label names to apply.
milestone_idintegeroptionalThe ID of the milestone to assign.
gitlab_issue_delete#Delete an issue from a GitLab project (admin only).2 params

Delete an issue from a GitLab project (admin only).

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
issue_iidintegerrequiredThe internal ID of the issue within the project.
gitlab_issue_get#Get a specific issue by its internal ID (IID).2 params

Get a specific issue by its internal ID (IID).

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
issue_iidintegerrequiredThe internal ID of the issue within the project.
gitlab_issue_labels_list#List labels for a GitLab project.3 params

List labels for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
gitlab_issue_note_create#Add a comment to a specific issue.3 params

Add a comment to a specific issue.

NameTypeRequiredDescription
bodystringrequiredThe comment text (Markdown supported).
idstringrequiredThe project ID (numeric) or URL-encoded path.
issue_iidintegerrequiredThe internal ID of the issue.
gitlab_issue_note_delete#Delete a comment on a specific issue.3 params

Delete a comment on a specific issue.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
issue_iidintegerrequiredThe internal ID of the issue.
note_idintegerrequiredThe ID of the note to delete.
gitlab_issue_note_update#Update a comment on a specific issue.4 params

Update a comment on a specific issue.

NameTypeRequiredDescription
bodystringrequiredThe updated comment text (Markdown supported).
idstringrequiredThe project ID (numeric) or URL-encoded path.
issue_iidintegerrequiredThe internal ID of the issue.
note_idintegerrequiredThe ID of the note to update.
gitlab_issue_notes_list#List comments (notes) on a specific issue.4 params

List comments (notes) on a specific issue.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
issue_iidintegerrequiredThe internal ID of the issue.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
gitlab_issue_update#Update an existing issue in a GitLab project.7 params

Update an existing issue in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
issue_iidintegerrequiredThe internal ID of the issue within the project.
assignee_idsstringoptionalComma-separated list of user IDs to assign.
descriptionstringoptionalUpdated description of the issue.
labelsstringoptionalComma-separated list of label names.
state_eventstringoptionalState transition: 'close' to close, 'reopen' to reopen.
titlestringoptionalNew title for the issue.
gitlab_issues_list#List issues for a GitLab project.10 params

List issues for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
assignee_idintegeroptionalFilter issues by assignee user ID.
labelsstringoptionalFilter issues by comma-separated label names.
milestonestringoptionalFilter issues by milestone title.
order_bystringoptionalOrder issues by field (created_at, updated_at, priority).
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalSearch issues by title or description.
sortstringoptionalSort order: asc or desc.
statestringoptionalFilter issues by state: opened, closed, or all.
gitlab_job_artifacts_download#Download the artifacts archive of a specific CI/CD job.2 params

Download the artifacts archive of a specific CI/CD job.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
job_idintegerrequiredThe numeric ID of the job.
gitlab_job_cancel#Cancel a specific CI/CD job.2 params

Cancel a specific CI/CD job.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
job_idintegerrequiredThe numeric ID of the job to cancel.
gitlab_job_get#Get details of a specific CI/CD job.2 params

Get details of a specific CI/CD job.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
job_idintegerrequiredThe numeric ID of the job.
gitlab_job_log_get#Get the log (trace) output of a specific CI/CD job.2 params

Get the log (trace) output of a specific CI/CD job.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
job_idintegerrequiredThe numeric ID of the job.
gitlab_job_retry#Retry a specific CI/CD job.2 params

Retry a specific CI/CD job.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
job_idintegerrequiredThe numeric ID of the job to retry.
gitlab_jobs_list#List all jobs for a GitLab project.4 params

List all jobs for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
scopestringoptionalFilter jobs by scope/status.
gitlab_label_create#Create a new label in a GitLab project.4 params

Create a new label in a GitLab project.

NameTypeRequiredDescription
colorstringrequiredThe color for the label in hex format (e.g. #FF0000).
idstringrequiredThe project ID (numeric) or URL-encoded path.
namestringrequiredThe name of the label.
descriptionstringoptionalOptional description for the label.
gitlab_merge_request_approvals_get#Get the approval state of a specific merge request.2 params

Get the approval state of a specific merge request.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
gitlab_merge_request_approve#Approve a merge request.2 params

Approve a merge request.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
gitlab_merge_request_commits_list#List commits in a specific merge request.2 params

List commits in a specific merge request.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
gitlab_merge_request_create#Create a new merge request in a GitLab project.9 params

Create a new merge request in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
source_branchstringrequiredThe source branch name.
target_branchstringrequiredThe target branch name.
titlestringrequiredThe title of the merge request.
assignee_idintegeroptionalThe numeric ID of the user to assign.
descriptionstringoptionalDescription for the merge request (Markdown supported).
labelsstringoptionalComma-separated list of label names.
remove_source_branchstringoptionalIf 'true', removes the source branch after merging.
squashstringoptionalIf 'true', squashes all commits into one on merge.
gitlab_merge_request_diff_get#Get the diffs of a specific merge request.2 params

Get the diffs of a specific merge request.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
gitlab_merge_request_get#Get a specific merge request by its internal ID (IID).2 params

Get a specific merge request by its internal ID (IID).

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request within the project.
gitlab_merge_request_merge#Merge an approved merge request in a GitLab project.5 params

Merge an approved merge request in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
merge_commit_messagestringoptionalCustom merge commit message.
should_remove_source_branchstringoptionalIf 'true', removes the source branch after merging.
squashstringoptionalIf 'true', squashes all commits into one.
gitlab_merge_request_note_create#Add a comment to a specific merge request.3 params

Add a comment to a specific merge request.

NameTypeRequiredDescription
bodystringrequiredThe comment text (Markdown supported).
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
gitlab_merge_request_notes_list#List comments on a specific merge request.4 params

List comments on a specific merge request.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
gitlab_merge_request_update#Update an existing merge request in a GitLab project.8 params

Update an existing merge request in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
merge_request_iidintegerrequiredThe internal ID of the merge request.
assignee_idintegeroptionalThe numeric ID of the user to assign.
descriptionstringoptionalUpdated description for the merge request.
labelsstringoptionalComma-separated list of label names.
state_eventstringoptionalState transition: 'close' to close, 'reopen' to reopen.
target_branchstringoptionalNew target branch name.
titlestringoptionalNew title for the merge request.
gitlab_merge_requests_list#List merge requests for a GitLab project.10 params

List merge requests for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
labelsstringoptionalFilter by comma-separated label names.
order_bystringoptionalOrder MRs by field (created_at, updated_at, title).
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalSearch MRs by title or description.
sortstringoptionalSort order: asc or desc.
source_branchstringoptionalFilter by source branch name.
statestringoptionalFilter by state: opened, closed, locked, merged, or all.
target_branchstringoptionalFilter by target branch name.
gitlab_milestone_create#Create a new milestone in a GitLab project.5 params

Create a new milestone in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
titlestringrequiredThe title of the milestone.
descriptionstringoptionalOptional description for the milestone.
due_datestringoptionalDue date for the milestone in YYYY-MM-DD format.
start_datestringoptionalStart date for the milestone in YYYY-MM-DD format.
gitlab_milestone_delete#Delete a milestone from a GitLab project.2 params

Delete a milestone from a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
milestone_idintegerrequiredThe numeric ID of the milestone.
gitlab_milestone_get#Get a specific project milestone.2 params

Get a specific project milestone.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
milestone_idintegerrequiredThe numeric ID of the milestone.
gitlab_milestone_update#Update an existing milestone in a GitLab project.6 params

Update an existing milestone in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
milestone_idintegerrequiredThe numeric ID of the milestone.
descriptionstringoptionalUpdated description for the milestone.
due_datestringoptionalUpdated due date in YYYY-MM-DD format.
state_eventstringoptionalState transition: 'close' to close, 'activate' to reopen.
titlestringoptionalNew title for the milestone.
gitlab_milestones_list#List milestones for a GitLab project.5 params

List milestones for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalFilter milestones by title.
statestringoptionalFilter milestones by state: active or closed.
gitlab_namespaces_list#List namespaces available to the current user (personal namespaces and groups).3 params

List namespaces available to the current user (personal namespaces and groups).

NameTypeRequiredDescription
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalFilter namespaces by name.
gitlab_pipeline_cancel#Cancel a running pipeline.2 params

Cancel a running pipeline.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pipeline_idintegerrequiredThe numeric ID of the pipeline to cancel.
gitlab_pipeline_create#Trigger a new CI/CD pipeline for a specific branch or tag. Note: GitLab.com requires identity verification on the account before pipelines can be triggered via API. Ensure the authenticated user has verified their identity at gitlab.com/-/profile/verify.3 params

Trigger a new CI/CD pipeline for a specific branch or tag. Note: GitLab.com requires identity verification on the account before pipelines can be triggered via API. Ensure the authenticated user has verified their identity at gitlab.com/-/profile/verify.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
refstringrequiredThe branch or tag name to run the pipeline on.
variablesstringoptionalJSON array of pipeline variables, each with 'key' and 'value' fields.
gitlab_pipeline_delete#Delete a pipeline from a GitLab project.2 params

Delete a pipeline from a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pipeline_idintegerrequiredThe numeric ID of the pipeline to delete.
gitlab_pipeline_get#Get details of a specific pipeline.2 params

Get details of a specific pipeline.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pipeline_idintegerrequiredThe numeric ID of the pipeline.
gitlab_pipeline_jobs_list#List jobs for a specific pipeline.5 params

List jobs for a specific pipeline.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pipeline_idintegerrequiredThe numeric ID of the pipeline.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
scopestringoptionalFilter jobs by scope.
gitlab_pipeline_retry#Retry a failed pipeline.2 params

Retry a failed pipeline.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pipeline_idintegerrequiredThe numeric ID of the pipeline to retry.
gitlab_pipelines_list#List pipelines for a GitLab project.6 params

List pipelines for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
refstringoptionalFilter pipelines by branch or tag name.
shastringoptionalFilter pipelines by commit SHA.
statusstringoptionalFilter by pipeline status.
gitlab_project_create#Create a new GitLab project.4 params

Create a new GitLab project.

NameTypeRequiredDescription
namestringrequiredThe name of the project.
descriptionstringoptionalA short description of the project.
initialize_with_readmestringoptionalIf 'true', initializes the repository with a README.
visibilitystringoptionalVisibility level: private, internal, or public. Defaults to private.
gitlab_project_delete#Delete a GitLab project. This is an asynchronous operation (returns 202 Accepted).1 param

Delete a GitLab project. This is an asynchronous operation (returns 202 Accepted).

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path (e.g. 'namespace%2Fproject').
gitlab_project_fork#Fork a GitLab project into a namespace.4 params

Fork a GitLab project into a namespace.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path to fork.
namestringoptionalThe name for the forked project.
namespace_idintegeroptionalThe ID of the namespace to fork the project into.
pathstringoptionalThe URL path (slug) for the forked project. Must be unique in the target namespace. If omitted, GitLab uses the source project path which may already be taken.
gitlab_project_forks_list#List forks of a GitLab project.3 params

List forks of a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
gitlab_project_get#Get a specific project by numeric ID or URL-encoded namespace/project path.1 param

Get a specific project by numeric ID or URL-encoded namespace/project path.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path (e.g. 'namespace%2Fproject').
gitlab_project_member_add#Add a member to a GitLab project with a specified access level.3 params

Add a member to a GitLab project with a specified access level.

NameTypeRequiredDescription
access_levelintegerrequiredAccess level for the member. 10=Guest, 20=Reporter, 30=Developer, 40=Maintainer, 50=Owner.
idstringrequiredThe project ID (numeric) or URL-encoded path.
user_idintegerrequiredThe numeric ID of the user to add.
gitlab_project_member_remove#Remove a member from a GitLab project.2 params

Remove a member from a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
user_idintegerrequiredThe numeric ID of the user to remove.
gitlab_project_members_list#List members of a GitLab project.4 params

List members of a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
querystringoptionalFilter members by name.
gitlab_project_snippet_create#Create a new snippet in a GitLab project.6 params

Create a new snippet in a GitLab project.

NameTypeRequiredDescription
contentstringrequiredThe content of the snippet.
file_namestringrequiredThe filename for the snippet.
idstringrequiredThe project ID (numeric) or URL-encoded path.
titlestringrequiredThe title of the snippet.
descriptionstringoptionalOptional description for the snippet.
visibilitystringoptionalVisibility level: private, internal, or public.
gitlab_project_snippet_get#Get a specific snippet from a GitLab project.2 params

Get a specific snippet from a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
snippet_idintegerrequiredThe numeric ID of the snippet.
gitlab_project_snippets_list#List all snippets in a GitLab project.3 params

List all snippets in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
gitlab_project_star#Star a GitLab project.1 param

Star a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_project_unstar#Unstar a GitLab project. Returns 200 with project data if successfully unstarred, or 304 if the project was not starred.1 param

Unstar a GitLab project. Returns 200 with project data if successfully unstarred, or 304 if the project was not starred.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_project_update#Update an existing GitLab project's settings.5 params

Update an existing GitLab project's settings.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path (e.g. 'namespace%2Fproject').
default_branchstringoptionalThe default branch name for the project.
descriptionstringoptionalA short description of the project.
namestringoptionalNew name for the project.
visibilitystringoptionalNew visibility level: private, internal, or public.
gitlab_project_variable_create#Create a new CI/CD variable for a GitLab project.7 params

Create a new CI/CD variable for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
keystringrequiredThe variable key name.
valuestringrequiredThe value of the variable.
environment_scopestringoptionalThe environment scope for this variable (default '*').
maskedstringoptionalIf 'true', masks the variable in job logs.
protectedstringoptionalIf 'true', the variable is only available on protected branches/tags.
variable_typestringoptionalThe variable type: env_var (default) or file.
gitlab_project_variable_delete#Delete a CI/CD variable from a GitLab project.2 params

Delete a CI/CD variable from a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
keystringrequiredThe variable key name to delete.
gitlab_project_variable_get#Get a specific CI/CD variable for a GitLab project.2 params

Get a specific CI/CD variable for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
keystringrequiredThe variable key name.
gitlab_project_variable_update#Update an existing CI/CD variable for a GitLab project.5 params

Update an existing CI/CD variable for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
keystringrequiredThe variable key name to update.
valuestringrequiredThe new value of the variable.
maskedstringoptionalIf 'true', masks the variable in job logs.
protectedstringoptionalIf 'true', the variable is only available on protected branches/tags.
gitlab_project_variables_list#List all CI/CD variables for a GitLab project.1 param

List all CI/CD variables for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_project_webhook_create#Create a new webhook for a GitLab project.7 params

Create a new webhook for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
urlstringrequiredThe URL to send webhook payloads to.
issues_eventsstringoptionalIf 'true', trigger the webhook on issue events.
merge_requests_eventsstringoptionalIf 'true', trigger on merge request events.
pipeline_eventsstringoptionalIf 'true', trigger on pipeline events.
push_eventsstringoptionalIf 'true', trigger the webhook on push events.
tokenstringoptionalSecret token to validate webhook payloads.
gitlab_project_webhook_delete#Delete a webhook from a GitLab project.2 params

Delete a webhook from a GitLab project.

NameTypeRequiredDescription
hook_idintegerrequiredThe numeric ID of the webhook to delete.
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_project_webhook_get#Get a specific webhook for a GitLab project.2 params

Get a specific webhook for a GitLab project.

NameTypeRequiredDescription
hook_idintegerrequiredThe numeric ID of the webhook.
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_project_webhook_update#Update an existing webhook for a GitLab project.6 params

Update an existing webhook for a GitLab project.

NameTypeRequiredDescription
hook_idintegerrequiredThe numeric ID of the webhook to update.
idstringrequiredThe project ID (numeric) or URL-encoded path.
urlstringrequiredThe new URL to send webhook payloads to.
merge_requests_eventsstringoptionalIf 'true', trigger on merge request events.
pipeline_eventsstringoptionalIf 'true', trigger on pipeline events.
push_eventsstringoptionalIf 'true', trigger on push events.
gitlab_project_webhooks_list#List all webhooks configured for a GitLab project.1 param

List all webhooks configured for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
gitlab_projects_list#List all projects accessible to the authenticated user. Supports filtering by search, ownership, membership, and visibility.8 params

List all projects accessible to the authenticated user. Supports filtering by search, ownership, membership, and visibility.

NameTypeRequiredDescription
membershipstringoptionalIf 'true', limits by projects where the user is a member.
order_bystringoptionalOrder projects by a field (e.g. id, name, created_at).
ownedstringoptionalIf 'true', limits by projects explicitly owned by the current user.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalSearch query to filter projects by name.
sortstringoptionalSort order: 'asc' or 'desc'.
visibilitystringoptionalFilter by visibility level: public, internal, or private.
gitlab_release_create#Create a new release in a GitLab project.5 params

Create a new release in a GitLab project.

NameTypeRequiredDescription
descriptionstringrequiredRelease notes in Markdown format.
idstringrequiredThe project ID (numeric) or URL-encoded path.
namestringrequiredThe release name.
tag_namestringrequiredThe tag name for the release.
refstringoptionalThe branch or commit to create the tag from (only if tag does not exist).
gitlab_release_delete#Delete a release from a GitLab project. Returns the deleted release object.2 params

Delete a release from a GitLab project. Returns the deleted release object.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
tag_namestringrequiredThe tag name of the release to delete.
gitlab_release_get#Get a specific release by tag name.2 params

Get a specific release by tag name.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
tag_namestringrequiredThe tag name for the release.
gitlab_release_update#Update an existing release in a GitLab project.4 params

Update an existing release in a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
tag_namestringrequiredThe tag name of the release to update.
descriptionstringoptionalUpdated release notes in Markdown format.
namestringoptionalUpdated release name.
gitlab_releases_list#List releases for a GitLab project.3 params

List releases for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
gitlab_repository_tree_list#List files and directories in a GitLab repository.6 params

List files and directories in a GitLab repository.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
pageintegeroptionalPage number for pagination.
pathstringoptionalFolder path to list files from.
per_pageintegeroptionalNumber of results per page (max 100).
recursivestringoptionalIf 'true', lists files recursively.
refstringoptionalThe branch, tag, or commit SHA to list files from.
gitlab_ssh_key_add#Add an SSH key for the currently authenticated user.2 params

Add an SSH key for the currently authenticated user.

NameTypeRequiredDescription
keystringrequiredThe SSH public key content.
titlestringrequiredA descriptive title for the SSH key.
gitlab_tag_create#Create a new tag in a GitLab repository.5 params

Create a new tag in a GitLab repository.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
refstringrequiredThe commit SHA, branch name, or another tag name to create the tag from.
tag_namestringrequiredThe name of the new tag.
messagestringoptionalMessage for an annotated tag.
release_descriptionstringoptionalRelease notes for the tag.
gitlab_tag_delete#Delete a tag from a GitLab repository.2 params

Delete a tag from a GitLab repository.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
tag_namestringrequiredThe name of the tag to delete.
gitlab_tag_get#Get details of a specific repository tag.2 params

Get details of a specific repository tag.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
tag_namestringrequiredThe name of the tag.
gitlab_tags_list#List repository tags for a GitLab project.6 params

List repository tags for a GitLab project.

NameTypeRequiredDescription
idstringrequiredThe project ID (numeric) or URL-encoded path.
order_bystringoptionalOrder tags by field (name, updated, version).
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalFilter tags by name.
sortstringoptionalSort order: asc or desc.
gitlab_user_get#Get a specific user by ID.1 param

Get a specific user by ID.

NameTypeRequiredDescription
idintegerrequiredThe ID of the user.
gitlab_user_projects_list#List projects owned by a specific user.3 params

List projects owned by a specific user.

NameTypeRequiredDescription
user_idintegerrequiredThe numeric ID of the user whose projects to list.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
gitlab_users_list#List users. Supports filtering by search term, username, and active status.5 params

List users. Supports filtering by search term, username, and active status.

NameTypeRequiredDescription
activestringoptionalFilter by active status. Use 'true' or 'false'.
pageintegeroptionalPage number for pagination.
per_pageintegeroptionalNumber of results per page (max 100).
searchstringoptionalSearch users by name or email.
usernamestringoptionalFilter by exact username.