Action domain

merge_request

Every action this domain exposes through gitlab_execute_action, from the gitlab://tools manifest. Each entry folds out to its full upstream description and required parameters.

46 · actions7 · destructive23 · read-only

Counted with a Free-tier token against gitlab.com, which is the only host this endpoint talks to: to use it against a self-managed instance, run the server yourself — its documentation covers that. The catalog is scoped to the token that asks, so the count moves with both its tier and its permissions: higher tiers expose more actions, and administration domains only appear to tokens allowed to use them. That is why the figures differ elsewhere: the upstream project counts 868 operations on Community Edition and up to 1,094 on GitLab.com's top tier, while this deployment publishes 768 because it is OAuth-only and acts with your token, so the administration domains a non-admin account cannot call never appear. All three describe the same catalog, counted from three vantage points.

Each entry also says what a GitLab fine-grained personal access token needs to run it, as GitLab 19.4.1 declares it: every permission of one line, at one of the boundaries named. Where there are alternatives, any one is enough.

Back to the server card

  1. merge_request.approval_config

    MR Approval Configread-only

    Get the approvals of a merge request. Returns: whether it is approved, the approved-by users with timestamps, and whether the calling user has approved and may approve, and on an Enterprise Edition instance also the approvals required and left, the rules left to satisfy and the suggested approvers, which Community Edition does not send. For each rule's status, use the approval state. See also: merge_request.approve.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  2. merge_request.approval_reset

    MR Approval Resetdestructive

    Reset all approvals on a merge request. Returns: a success confirmation. See also: merge_request.approval_config, merge_request.unapprove.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Approve at project

  3. merge_request.approve

    MR Approve

    Approve a merge request on behalf of the caller. Returns: the approval state with the approved-by count, overall approved flag, the approvers with when each approved, and whether the caller has approved and may approve, and on an Enterprise Edition instance also the approvals required and left and the rules left to satisfy. See also: merge_request.unapprove, merge_request.merge, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Approve at project

  4. merge_request.cancel_auto_merge

    MR Cancel Auto Merge

    Cancel auto-merge (merge-when-pipeline-succeeds) on a merge request. Returns: the MR with auto-merge disabled. See also: merge_request.merge, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Merge at project

  5. merge_request.commits

    MR Commitsread-only

    List the commits that make up a merge request. Returns: commit SHAs, titles, authors, and timestamps with pagination metadata. See also: merge_request.get, repository.commit_get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  6. merge_request.context_commits_create

    Create MR Context Commits

    Attach existing repository commit SHAs to a merge request as context commits. Returns: each pinned commit's full and short SHA, title and message, author and committer with their dates, parents, trailers and web URL. See also: merge_request.context_commits_list, merge_request.context_commits_delete, repository.commit_get.

    Required parameters: commits (array), merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Update at project

  7. merge_request.context_commits_delete

    Delete MR Context Commitsdestructive

    Remove context commits from a merge request by SHA, detaching them from the review. Returns: a success confirmation. The underlying repository commits are left intact. See also: merge_request.context_commits_list, merge_request.context_commits_create, merge_request.get.

    Required parameters: commits (array), merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Update at project

  8. merge_request.context_commits_list

    List MR Context Commitsread-only

    List the context commits pinned to a merge request for review. Returns: each commit's full and short SHA, title and message, the title and description rendered to HTML, author and committer with their dates, the GitLab account the author email belongs to and the author's Gravatar image, trailers and web URL, with pagination metadata. See also: merge_request.get, merge_request.context_commits_create, merge_request.context_commits_delete.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  9. merge_request.create

    MR Create

    Open a new merge request from a source branch into a target branch. Returns: the created MR with IID, state, source/target branches, merge status, assignees, reviewers, labels, and web URL. See also: merge_request.get, merge_request.list, merge_request.merge.

    Required parameters: project_id (string|integer), source_branch (string), target_branch (string), title (string)

    Fine-grained token: Merge Request: Create at project

  10. merge_request.create_pipeline

    MR Create Pipeline

    Trigger a new CI/CD pipeline for a merge request. Returns: the created pipeline with id, status, ref, sha, and web URL. See also: merge_request.pipelines, pipeline.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Update at project

  11. merge_request.create_todo

    MR Create Todo

    Create a to-do for a merge request for the caller. Returns: the created to-do item with action, target title and URL, project name, author, body, state and created and updated times. See also: merge_request.get, merge_request.subscribe.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Todo: Create at project

  12. merge_request.delete

    MR Deletedestructive

    Delete a merge request permanently. Returns: a success confirmation naming the MR and project. See also: merge_request.update, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Delete at project

  13. merge_request.emoji_mr_create

    MR Emoji Create

    Add an emoji reaction to a merge request. Returns: the created award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_list, merge_request.emoji_mr_delete.

    Required parameters: merge_request_iid (integer), name (string), project_id (string|integer)

    Fine-grained token: Work Item: Create at project

  14. merge_request.emoji_mr_delete

    MR Emoji Deletedestructive

    Remove an emoji reaction from a merge request by award id. Returns: a success confirmation naming the award emoji. See also: merge_request.emoji_mr_list, merge_request.emoji_mr_get.

    Required parameters: award_id (integer), merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Delete at project

  15. merge_request.emoji_mr_get

    MR Emoji Getread-only

    Get a single emoji reaction on a merge request by award id. Returns: the award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_list, merge_request.emoji_mr_delete.

    Required parameters: award_id (integer), merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  16. merge_request.emoji_mr_list

    MR Emoji Listread-only

    List all emoji reactions on a merge request. Returns: each award with its emoji name, the awarding user object, awardable id/type, and pagination metadata. See also: merge_request.emoji_mr_get, merge_request.emoji_mr_create, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  17. merge_request.emoji_mr_note_create

    MR Note Emoji Create

    Add an emoji reaction to a merge request note. Returns: the created award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_note_list, merge_request.emoji_mr_note_delete.

    Required parameters: merge_request_iid (integer), name (string), note_id (integer), project_id (string|integer)

    Fine-grained token: Work Item: Create at project

  18. merge_request.emoji_mr_note_delete

    MR Note Emoji Deletedestructive

    Remove an emoji reaction from a merge request note by award id. Returns: a success confirmation naming the award emoji. See also: merge_request.emoji_mr_note_list, merge_request.emoji_mr_note_get.

    Required parameters: award_id (integer), merge_request_iid (integer), note_id (integer), project_id (string|integer)

    Fine-grained token: Work Item: Delete at project

  19. merge_request.emoji_mr_note_get

    MR Note Emoji Getread-only

    Get a single emoji reaction on a merge request note by award id. Returns: the award with its emoji name, awarding user object, timestamps, and awardable id/type. See also: merge_request.emoji_mr_note_list, merge_request.emoji_mr_note_delete.

    Required parameters: award_id (integer), merge_request_iid (integer), note_id (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  20. merge_request.emoji_mr_note_list

    MR Note Emoji Listread-only

    List all emoji reactions on a merge request note (comment). Returns: each award with its emoji name, the awarding user object, awardable id/type, and pagination metadata. See also: merge_request.emoji_mr_note_get, merge_request.emoji_mr_note_create, mr_review.note_get.

    Required parameters: merge_request_iid (integer), note_id (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  21. merge_request.event_mr_label_get

    MR Label Event Getread-only

    Get a single label event for a merge request. Returns: the event with action, the label object, and the acting user. See also: merge_request.event_mr_label_list.

    Required parameters: label_event_id (integer), merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  22. merge_request.event_mr_label_list

    MR Label Event Listread-only

    List label events for a merge request. Returns: label events with action, the label object, the acting user, and pagination metadata. See also: merge_request.event_mr_label_get, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  23. merge_request.event_mr_milestone_get

    MR Milestone Event Getread-only

    Get a single milestone event for a merge request. Returns: the event with action, the milestone object, and the acting user. See also: merge_request.event_mr_milestone_list.

    Required parameters: merge_request_iid (integer), milestone_event_id (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  24. merge_request.event_mr_milestone_list

    MR Milestone Event Listread-only

    List milestone events for a merge request. Returns: milestone events with action, the milestone object, the acting user, and pagination metadata. See also: merge_request.event_mr_milestone_get, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  25. merge_request.event_mr_state_get

    MR State Event Getread-only

    Get a single state event for a merge request. Returns: the event with the state value and the acting user. See also: merge_request.event_mr_state_list.

    Required parameters: merge_request_iid (integer), project_id (string|integer), state_event_id (integer)

    Fine-grained token: Work Item: Read at project

  26. merge_request.event_mr_state_list

    MR State Event Listread-only

    List state events for a merge request. Returns: state events with the state value, the acting user, and pagination metadata. See also: merge_request.event_mr_state_get, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  27. merge_request.get

    MR Getread-only

    Get a single merge request from a project by its IID. Returns: MR metadata, state, source/target branches, merge status, assignees, reviewers, labels, milestone, and web URL. See also: merge_request.list, merge_request.update, merge_request.merge, merge_request.commits.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  28. merge_request.issues_closed

    MR Issues Closedread-only

    List issues that will be closed when the merge request is merged. Returns: issues with state, labels, assignees, and web URL plus pagination metadata. See also: merge_request.related_issues, issue.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  29. merge_request.list

    MR Listread-only

    List merge requests in one project with filtering and pagination. Returns: matching MRs with state, branches, merge status, assignees, reviewers, labels, and pagination metadata. See also: merge_request.get, merge_request.create, merge_request.list_group.

    Required parameters: project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  30. merge_request.list_global

    MR List Globalread-only

    List merge requests across projects: only the ones the caller created when scope is omitted, since GitLab defaults to scope=created_by_me, and every merge request the caller can see with scope=all. Returns: the matching MRs with project context, state, branches, and pagination metadata. See also: merge_request.list, merge_request.list_group, search.merge_requests.

    Required parameters: No required parameters

    Fine-grained token: Merge Request: Read at user

  31. merge_request.list_group

    MR List Groupread-only

    List merge requests across a group and its projects. Returns: visible MRs with project context, state, branches, and pagination metadata. See also: merge_request.list, merge_request.list_global, group.get.

    Required parameters: group_id (string|integer)

    Fine-grained token: Merge Request: Read at group

  32. merge_request.merge

    MR Mergedestructive

    Merge a merge request now, or schedule auto-merge when its pipeline succeeds. Returns: the merged MR with merge_commit_sha and updated state. See also: merge_request.get, merge_request.pipelines, merge_request.cancel_auto_merge.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Merge at project

  33. merge_request.participants

    MR Participantsread-only

    List the participants of a merge request. Returns: participating users with username, name, state, locked flag and public email, with pagination metadata. See also: merge_request.reviewers, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  34. merge_request.pipelines

    MR Pipelinesread-only

    List the CI/CD pipelines attached to a merge request. Returns: pipelines with id, status, ref, sha, and web URL, with pagination metadata. See also: merge_request.create_pipeline, merge_request.merge, pipeline.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  35. merge_request.rebase

    MR Rebase

    Rebase a merge request's source branch onto its target. Returns: whether a rebase is now in progress (poll merge_request.get to track completion). See also: merge_request.get, merge_request.merge.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Update at project

  36. merge_request.related_issues

    MR Related Issuesread-only

    List issues related to a merge request. Returns: issues with state, labels, assignees, and web URL plus pagination metadata. See also: merge_request.issues_closed, issue.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  37. merge_request.reviewers

    MR Reviewersread-only

    List the reviewers of a merge request. Returns: reviewer users with username, name, state, locked flag, public email, review state and assignment time, with pagination metadata. See also: merge_request.participants, merge_request.update.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Read at project

  38. merge_request.spent_time_add

    MR Add Spent Time

    Add spent time to a merge request. Returns: the updated time tracking stats (estimate and spent time, seconds and human-readable). See also: merge_request.spent_time_reset, merge_request.time_estimate_set, merge_request.time_stats.

    Required parameters: duration (string), merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Update at project

  39. merge_request.spent_time_reset

    MR Reset Spent Time

    Reset a merge request's spent time. Returns: the updated time tracking stats. See also: merge_request.spent_time_add, merge_request.time_stats.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Update at project

  40. merge_request.subscribe

    MR Subscribe

    Subscribe the caller to a merge request's notifications. Returns: the MR with the updated subscription state. See also: merge_request.unsubscribe, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Subscribe at project

  41. merge_request.time_estimate_reset

    MR Reset Time Estimate

    Clear a merge request's time estimate. Returns: the updated time tracking stats. See also: merge_request.time_estimate_set, merge_request.time_stats.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Update at project

  42. merge_request.time_estimate_set

    MR Set Time Estimate

    Set a merge request's time estimate. Returns: the updated time tracking stats (estimate and spent time, seconds and human-readable). See also: merge_request.time_estimate_reset, merge_request.spent_time_add, merge_request.time_stats.

    Required parameters: duration (string), merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Update at project

  43. merge_request.time_stats

    MR Time Statsread-only

    Read a merge request's time tracking totals. Returns: estimate and spent time in seconds and human-readable form. See also: merge_request.time_estimate_set, merge_request.spent_time_add.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Work Item: Read at project

  44. merge_request.unapprove

    MR Unapprovedestructive

    Remove the caller's approval from a merge request. Returns: the approval state left after the withdrawal, in the shape the approve answers with: the approved-by count and users, the overall approved flag, whether the caller has approved and may approve, and on an Enterprise Edition instance the approvals required and left. See also: merge_request.approve, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Approve at project

  45. merge_request.unsubscribe

    MR Unsubscribe

    Unsubscribe the caller from a merge request's notifications. Returns: the MR with the updated subscription state. See also: merge_request.subscribe, merge_request.get.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Subscribe at project

  46. merge_request.update

    MR Update

    Update an existing merge request's fields or state. Returns: the updated MR with its new field values, state, labels, assignees, and reviewers. See also: merge_request.get, merge_request.merge, merge_request.approve.

    Required parameters: merge_request_iid (integer), project_id (string|integer)

    Fine-grained token: Merge Request: Update at project