> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boxd.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab

> A web-based DevOps lifecycle tool that provides a Git repository manager providing wiki, issue-tracking, and CI/CD pipeline features

A web-based DevOps lifecycle tool that provides a Git repository manager providing wiki, issue-tracking, and CI/CD pipeline features.

`gitlab` · **116 tools** · no triggers

## Connect it

```bash theme={"theme":"github-dark"}
run auth gitlab
run auth gitlab --scope team    # shared with the organization
```

Or from the [Integrations page](https://app.boxd.sh/integrations) in the console. See [Connections](/guides/integrations/connections) for personal versus shared, and who may remove one.

## Use it

```bash theme={"theme":"github-dark"}
run gitlab          # common commands
run gitlab --all    # every command
```

```ts theme={"theme":"github-dark"}
import { gitlab } from "@boxd/run";
```

## Common tools

| Tool                       | What it does                                                                                                                                                               |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `add-spent-time`           | Adds spent time to a GitLab issue for time tracking purposes.                                                                                                              |
| `approve-merge-request`    | Approves a merge request in a GitLab project. Use this action when you need to record an approval from the authenticated user on a specific merge request.                 |
| `archive-project`          | Tool to archive a project. Use when you need to mark a project read-only after finishing active development.                                                               |
| `cancel-job`               | Cancel a GitLab CI/CD job within a specified project. This action stops a running or pending job and is irreversible.                                                      |
| `create-commit`            | Creates a new commit with multiple file operations in a GitLab project.                                                                                                    |
| `create-commit-comment`    | Posts a comment to a specific commit in a GitLab project repository.                                                                                                       |
| `create-file`              | Creates a new file in a GitLab repository at the specified path with the given content.                                                                                    |
| `create-group`             | Tool to create a new group in GitLab. Use when you need to establish a new group for projects or collaboration.                                                            |
| `create-issue-note`        | Creates a new note (comment) on a project issue in GitLab. Use this action when you need to add a comment, provide feedback, or document information on an existing issue. |
| `create-label`             | Creates a new label for a GitLab project with specified name, color, and optional attributes.                                                                              |
| `create-merge-request`     | Creates a new merge request in a GitLab project to propose changes from a source branch into a target branch.                                                              |
| `create-milestone`         | Creates a new milestone in a GitLab project. Milestones track progress towards a goal with a start date, due date, and associated issues.                                  |
| `create-pipeline`          | Tool to create a new pipeline for a specific branch or tag in a GitLab project.                                                                                            |
| `create-project`           | Tool to create a new project in GitLab. Implements POST /projects endpoint.                                                                                                |
| `create-project-issue`     | Tool to create a new issue in a GitLab project. Use when you need to report a bug, request a feature, or track a task within a specific project.                           |
| `create-repository-branch` | Tool to create a new branch in a project. Use when you need to create a new branch from an existing branch or a specific commit in a GitLab project.                       |
| `create-webhook`           | Creates a new webhook (project hook) for a GitLab project to receive real-time event notifications.                                                                        |
| `delete-group`             | Deletes a GitLab group by its ID or URL-encoded path. Use this action when you need to remove a group entirely.                                                            |
| `fork-project`             | Forks a GitLab project to a specified namespace or the current user's namespace.                                                                                           |
| `get-current-user`         | Retrieves information about the currently authenticated user.                                                                                                              |
| `get-file`                 | Retrieves a single file from a GitLab repository at a specific ref (branch, tag, or commit).                                                                               |
| `get-issue`                | Retrieves a single issue from a GitLab project by its internal ID (iid).                                                                                                   |
| `get-issue-note`           | Retrieves a single comment (note) from a GitLab issue by its ID.                                                                                                           |
| `get-label`                | Retrieves a single project label by its ID or title. Use this action when you need to fetch details about a specific label within a GitLab project...                      |
| `get-merge-request-notes`  | Tool to fetch comments on a merge request. Use when you need to retrieve all notes for a specific merge request.                                                           |

<Accordion title="All 116 tools" icon="list">
  | Tool                                       | What it does                                                                                                                                                               |
  | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `add-spent-time`                           | Adds spent time to a GitLab issue for time tracking purposes.                                                                                                              |
  | `approve-merge-request`                    | Approves a merge request in a GitLab project. Use this action when you need to record an approval from the authenticated user on a specific merge request.                 |
  | `archive-project`                          | Tool to archive a project. Use when you need to mark a project read-only after finishing active development.                                                               |
  | `cancel-job`                               | Cancel a GitLab CI/CD job within a specified project. This action stops a running or pending job and is irreversible.                                                      |
  | `cancel-pipeline`                          | Tool to cancel a running pipeline in a GitLab project. Use this action when you need to stop a CI/CD pipeline that is currently executing or queued.                       |
  | `create-commit`                            | Creates a new commit with multiple file operations in a GitLab project.                                                                                                    |
  | `create-commit-comment`                    | Posts a comment to a specific commit in a GitLab project repository.                                                                                                       |
  | `create-file`                              | Creates a new file in a GitLab repository at the specified path with the given content.                                                                                    |
  | `create-group`                             | Tool to create a new group in GitLab. Use when you need to establish a new group for projects or collaboration.                                                            |
  | `create-issue-note`                        | Creates a new note (comment) on a project issue in GitLab. Use this action when you need to add a comment, provide feedback, or document information on an existing issue. |
  | `create-label`                             | Creates a new label for a GitLab project with specified name, color, and optional attributes.                                                                              |
  | `create-merge-request`                     | Creates a new merge request in a GitLab project to propose changes from a source branch into a target branch.                                                              |
  | `create-milestone`                         | Creates a new milestone in a GitLab project. Milestones track progress towards a goal with a start date, due date, and associated issues.                                  |
  | `create-pipeline`                          | Tool to create a new pipeline for a specific branch or tag in a GitLab project.                                                                                            |
  | `create-project`                           | Tool to create a new project in GitLab. Implements POST /projects endpoint.                                                                                                |
  | `create-project-issue`                     | Tool to create a new issue in a GitLab project. Use when you need to report a bug, request a feature, or track a task within a specific project.                           |
  | `create-repository-branch`                 | Tool to create a new branch in a project. Use when you need to create a new branch from an existing branch or a specific commit in a GitLab project.                       |
  | `create-webhook`                           | Creates a new webhook (project hook) for a GitLab project to receive real-time event notifications.                                                                        |
  | `delete-group`                             | Deletes a GitLab group by its ID or URL-encoded path. Use this action when you need to remove a group entirely.                                                            |
  | `delete-issue-note`                        | Deletes a note (comment) from an issue in a GitLab project. Use this action when you need to remove a specific comment from an issue.                                      |
  | `delete-label`                             | Deletes a label from a GitLab project by its ID or title. Use this action when you need to remove a label from a project permanently.                                      |
  | `delete-merge-request`                     | Tool to permanently delete a merge request from a GitLab project.                                                                                                          |
  | `delete-milestone`                         | Deletes a project milestone by its ID. Use when you need to permanently remove a milestone from a project.                                                                 |
  | `delete-pipeline`                          | Tool to delete a CI/CD pipeline by its ID within a specified project.                                                                                                      |
  | `delete-project`                           | Tool to delete a GitLab project by its ID. Use when you need to remove a project, either by marking it for later deletion or deleting it immediately.                      |
  | `delete-repository-branch`                 | Tool to delete a branch from a GitLab project repository. Use when you need to remove a branch that is no longer needed.                                                   |
  | `delete-repository-file`                   | Deletes a file from a GitLab repository by creating a new commit.                                                                                                          |
  | `delete-webhook`                           | Deletes a project webhook/hook permanently from a GitLab project, removing the integration and stopping all event notifications.                                           |
  | `download-project-avatar`                  | Tool to download a project's avatar image. Use when you need the raw avatar bytes after confirming the project exists.                                                     |
  | `erase-job`                                | Tool to erase the content of a specified job within a project.                                                                                                             |
  | `fork-project`                             | Forks a GitLab project to a specified namespace or the current user's namespace.                                                                                           |
  | `get-commit-refs`                          | Tool to get all references (branches or tags) a commit is pushed to.                                                                                                       |
  | `get-commit-sequence`                      | Tool to get the sequence number of a commit in a project by following parent links from the given commit.                                                                  |
  | `get-current-user`                         | Retrieves information about the currently authenticated user.                                                                                                              |
  | `get-file`                                 | Retrieves a single file from a GitLab repository at a specific ref (branch, tag, or commit).                                                                               |
  | `get-group`                                | Tool to retrieve information about a specific group by its ID.                                                                                                             |
  | `get-group-member`                         | Tool to retrieve details for a specific group member. Use when you need to fetch membership information for a user in a group after you know both group ID and user ID.    |
  | `get-groups`                               | Get Groups                                                                                                                                                                 |
  | `get-issue`                                | Retrieves a single issue from a GitLab project by its internal ID (iid).                                                                                                   |
  | `get-issue-note`                           | Retrieves a single comment (note) from a GitLab issue by its ID.                                                                                                           |
  | `get-job-details`                          | Tool to retrieve details of a single job by its ID within a specified project.                                                                                             |
  | `get-job-trace`                            | Retrieves the trace (log output) for a specific CI/CD job within a project.                                                                                                |
  | `get-label`                                | Retrieves a single project label by its ID or title. Use this action when you need to fetch details about a specific label within a GitLab project...                      |
  | `get-merge-request-notes`                  | Tool to fetch comments on a merge request. Use when you need to retrieve all notes for a specific merge request.                                                           |
  | `get-milestone`                            | Retrieves a single milestone by its ID for a specific project.                                                                                                             |
  | `get-project`                              | Tool to get a single project by ID or URL-encoded path.                                                                                                                    |
  | `get-project-languages`                    | Tool to list programming languages used in a project with percentages.                                                                                                     |
  | `get-project-member`                       | Tool to retrieve details for a specific project member. Use after confirming project and user IDs to fetch membership information for a project member.                    |
  | `get-project-member-all`                   | Tool to retrieve details for a specific project member (including inherited and invited members).                                                                          |
  | `get-project-merge-request`                | Tool to fetch full details for a single merge request when the MR IID is known.                                                                                            |
  | `get-project-merge-request-commits`        | Tool to get commits of a merge request. Use when you need to retrieve all commits associated with a specific merge request.                                                |
  | `get-project-merge-requests`               | Tool to retrieve a list of merge requests for a specific project.                                                                                                          |
  | `get-projects`                             | Tool to list all projects accessible to the authenticated user.                                                                                                            |
  | `get-projects-id-merge-requests-iid-diffs` | Tool to list all diff versions of a merge request. Use when you need to inspect changes across different diff versions after creating or updating a merge request.         |
  | `get-raw-file`                             | Retrieves the raw contents of a file from a GitLab repository without Base64 encoding.                                                                                     |
  | `get-repository-branch`                    | Tool to retrieve information about a specific branch in a project.                                                                                                         |
  | `get-repository-branches`                  | Retrieves a list of repository branches for a project. Use this when you need to get all branches or search for specific branches within a GitLab project.                 |
  | `get-single-commit`                        | Tool to get a specific commit identified by the commit hash or name of a branch or tag.                                                                                    |
  | `get-single-pipeline`                      | Tool to retrieve details of a single pipeline by its ID within a specified project.                                                                                        |
  | `get-time-stats`                           | Retrieves time tracking statistics for a specific issue in a project.                                                                                                      |
  | `get-user`                                 | Tool to retrieve information about a specific user by their ID.                                                                                                            |
  | `get-user-preferences`                     | Tool to get the current user's preferences. Use when you need to retrieve the user's diff display and CI identity JWT settings after authentication.                       |
  | `get-users`                                | Tool to retrieve a list of users from GitLab. Use this when you need to find user information, search for specific users, or filter users based on...                      |
  | `get-users-id-status`                      | Tool to get a user's status by ID. Use when you need to retrieve a GitLab user's current status message, emoji, and availability after identifying their user ID.          |
  | `get-user-status`                          | Tool to get the current user's status. Use when displaying or verifying the authenticated user's GitLab status after login.                                                |
  | `get-user-support-pin`                     | Tool to get details of the current user's Support PIN. Use when you need to retrieve the active support PIN and its expiration for the authenticated user.                 |
  | `get-webhook`                              | Retrieves detailed information about a specific project webhook by its ID.                                                                                                 |
  | `import-project-members`                   | Tool to import members from one project to another. Use when migrating members between projects.                                                                           |
  | `list-all-group-members`                   | Tool to list all members of a group including direct, inherited, and invited members.                                                                                      |
  | `list-all-project-members`                 | Tool to list all members of a project (direct, inherited, invited).                                                                                                        |
  | `list-billable-group-members`              | Tool to list billable members of a top-level group (including its subgroups and projects).                                                                                 |
  | `list-commit-comments`                     | Retrieves all comments associated with a specific commit in a GitLab project.                                                                                              |
  | `list-group-members`                       | Tool to list direct members of a group. Use when you need to retrieve or filter a group's direct membership.                                                               |
  | `list-group-projects`                      | Tool to list projects within a GitLab group by group ID or full path.                                                                                                      |
  | `list-issue-notes`                         | Retrieves all notes (comments and activity) for a specific project issue in GitLab.                                                                                        |
  | `list-labels`                              | Lists all labels for a project with optional filtering by name, archived status, and ancestor inclusion.                                                                   |
  | `list-merge-requests`                      | Retrieves a list of merge requests from across all accessible projects based on scope and filters.                                                                         |
  | `list-milestones`                          | Lists all milestones for a specific project with optional filtering by state, title, or search terms.                                                                      |
  | `list-pending-group-members`               | Tool to list pending members of a group and its subgroups and projects.                                                                                                    |
  | `list-pipeline-jobs`                       | Tool to retrieve a list of jobs for a specified pipeline within a project.                                                                                                 |
  | `list-project-groups`                      | Tool to list ancestor groups of a project. Use when you need to retrieve all groups a project belongs to or is shared with.                                                |
  | `list-project-invited-groups`              | Tool to list groups invited to a project. Use when auditing which groups have access to a project.                                                                         |
  | `list-project-issues`                      | Tool to list issues for a project with filtering options (state, labels, search, assignee, author, etc.).                                                                  |
  | `list-project-pipelines`                   | Tool to retrieve a list of pipelines for a specified project.                                                                                                              |
  | `list-project-shareable-groups`            | Tool to list groups that can be shared with a project. Use before sharing a project to fetch eligible groups.                                                              |
  | `list-project-tags`                        | Tool to retrieve a list of repository tags for a specified project.                                                                                                        |
  | `list-project-transfer-locations`          | Tool to list namespaces available for project transfer. Use when you need to determine which groups a project can be transferred into.                                     |
  | `list-project-users`                       | Tool to list users of a project. Use after you have a project ID and want to retrieve its users.                                                                           |
  | `list-repository-commits`                  | Tool to get a list of repository commits in a project. Use when you need to retrieve commit history for a specific project, branch, or time range.                         |
  | `list-user-projects`                       | Tool to list projects owned by a specific user. Use after obtaining target user identity to fetch owned projects.                                                          |
  | `list-webhooks`                            | Tool to list all webhooks configured for a GitLab project. Returns webhook configurations including URLs, event triggers, and SSL settings.                                |
  | `move-issue`                               | Moves an issue from one project to another in GitLab. The issue receives a new IID and project\_id in the destination project.                                             |
  | `play-job`                                 | Triggers execution of a manual job in a GitLab project. Use this action when you need to start or run a job that requires manual intervention or has a manual status.      |
  | `post-user-support-pin`                    | Tool to create a support PIN for your authenticated user. Use when GitLab Support requests a PIN to verify your identity.                                                  |
  | `protect-branch`                           | Protects a repository branch in a GitLab project by setting access controls for push, merge, and unprotect operations.                                                     |
  | `put-user-preferences`                     | Tool to update the current user's preferences. Use when adjusting default diff viewing and CI identity settings.                                                           |
  | `reset-spent-time`                         | Resets the total spent time for a specified GitLab issue to 0 seconds.                                                                                                     |
  | `reset-time-estimate`                      | Resets the estimated time for a specified issue to 0 seconds.                                                                                                              |
  | `retry-pipeline`                           | Retries failed or canceled jobs in a pipeline. Use this action when you need to re-run a pipeline that has failed or was canceled.                                         |
  | `set-time-estimate`                        | Sets the estimated time to complete an issue in a GitLab project.                                                                                                          |
  | `set-user-status`                          | Tool to set the current user's status. Use when you need to update availability or convey current mood on GitLab.                                                          |
  | `share-project-with-group`                 | Tool to share a project with a group. Use when you need to grant a group specific access level to a project.                                                               |
  | `star-project`                             | Stars a project in GitLab, marking it as a favorite for the authenticated user.                                                                                            |
  | `start-project-housekeeping`               | Tool to start the housekeeping task for a project. Use when you need to trigger manual maintenance or pruning on a repository.                                             |
  | `unapprove-merge-request`                  | Removes the approval from the currently authenticated user for a specified merge request.                                                                                  |
  | `unprotect-branch`                         | Tool to remove protection from a branch in a GitLab project.                                                                                                               |
  | `unstar-project`                           | Unstar a previously starred GitLab project to remove it from your favorites list.                                                                                          |
  | `update-group`                             | Updates an existing GitLab group's settings and properties. Use this action when you need to modify group configuration such as name, path...                              |
  | `update-issue-note`                        | Updates an existing note (comment) on a GitLab issue. Use this action when you need to edit the content of a previously created comment on an issue.                       |
  | `update-label`                             | Updates an existing label in a GitLab project by modifying its name, color, description, priority, or archived status.                                                     |
  | `update-merge-request`                     | Updates an existing merge request in a GitLab project (title, description, assignees, reviewers, labels, state, etc.).                                                     |
  | `update-milestone`                         | Updates an existing milestone in a GitLab project, allowing you to modify the title, description, dates, or state.                                                         |
  | `update-project-issue`                     | Tool to update an existing issue in a GitLab project (title, description, labels, assignees, state, etc.).                                                                 |
  | `update-repository-file`                   | Updates an existing file in a GitLab repository. Commits the changes to the specified branch with the provided commit message.                                             |
  | `update-webhook`                           | Updates an existing project webhook configuration including URL, event triggers, SSL verification, and authentication token.                                               |
  | `validate-credential`                      | Validates the authentication credentials by retrieving the currently authenticated user's information.                                                                     |
</Accordion>

[Open GitLab in the console →](https://app.boxd.sh/integrations/detail/gitlab)
