Ir al contenido

Merge requests

La vida de un merge request: crearlo, leerlo, listarlo (en un proyecto, en un grupo o en todas partes), actualizarlo, fusionarlo, cancelar una fusión automática, rebasarlo y borrarlo; aprobarlo y retirar la aprobación, leer su configuración de aprobación y restablecer sus aprobaciones; sus commits, commits de contexto, pipelines (listarlos o lanzar uno), participantes, revisores, issues relacionados y los issues que cierra; suscripciones, tareas pendientes, estimaciones y tiempo dedicado; los emoji de reacción en él y en sus notas; y los eventos de etiqueta, hito y estado de su historial.

Las reglas de aprobación, el estado de aprobación, los ajustes de aprobación de proyecto y de grupo y las dependencias entre merge requests se sirven a partir de Premium. Los comentarios, las discusiones, los diffs y las notas en borrador están en Revisión de merge requests.

  • “Muestra los merge requests abiertos del proyecto 42”
  • “Crea un merge request de feature-login a main”
  • “Fusiona el merge request !15 cuando pase su pipeline”
  • “¿Qué merge requests esperan mi revisión?”
  • Dinámica, la superficie predeterminada: llama a gitlab_execute_action con action igual al ID de la acción, como merge_request.approval_config, y sus parámetros en params. gitlab_find_action encuentra un ID a partir de una descripción de la tarea.
  • Meta (GITLAB_MCP_TOOL_SURFACE=meta): llama a gitlab_merge_request con action igual al nombre de la acción, como approval_config, y sus parámetros en params.
  • Individual (GITLAB_MCP_TOOL_SURFACE=individual): llama a la herramienta propia de la acción, como gitlab_mr_approval_config, pasándole directamente sus parámetros.

Cuántas de estas acciones sirve una instancia en cada nivel, de un total de 58:

  • Free: 46
  • Premium: 58
  • Ultimate: 58

Acciones de solo lectura: 28 de 58, las que conserva un despliegue en modo de solo lectura.

La descripción de cada acción, y la de cada uno de sus parámetros, es el texto que sirve el servidor para ella en la superficie predeterminada, citado tal cual; por eso está en inglés. Una acción destructiva solo se ejecuta una vez confirmada, salvo que GITLAB_MCP_YOLO_MODE (o AUTOPILOT) se salte ese paso: la superficie dinámica necesita confirm: true en gitlab_execute_action, y las otras dos aceptan un parámetro confirm o la pregunta del cliente (Acciones destructivas). Un parámetro seguido de un nivel entre paréntesis solo se sirve a partir de ese nivel.

AcciónNivelIndividual
merge_request.approval_configFreegitlab_mr_approval_config
merge_request.approval_resetFreegitlab_mr_approval_reset
merge_request.approval_rule_createPremiumgitlab_mr_approval_rule_create
merge_request.approval_rule_deletePremiumgitlab_mr_approval_rule_delete
merge_request.approval_rule_updatePremiumgitlab_mr_approval_rule_update
merge_request.approval_rulesPremiumgitlab_mr_approval_rules
merge_request.approval_settings_group_getPremiumgitlab_get_group_mr_approval_settings
merge_request.approval_settings_group_updatePremiumgitlab_update_group_mr_approval_settings
merge_request.approval_settings_project_getPremiumgitlab_get_project_mr_approval_settings
merge_request.approval_settings_project_updatePremiumgitlab_update_project_mr_approval_settings
merge_request.approval_statePremiumgitlab_mr_approval_state
merge_request.approveFreegitlab_mr_approve
merge_request.cancel_auto_mergeFreegitlab_mr_cancel_auto_merge
merge_request.commitsFreegitlab_mr_commits
merge_request.context_commits_createFreegitlab_create_mr_context_commits
merge_request.context_commits_deleteFreegitlab_delete_mr_context_commits
merge_request.context_commits_listFreegitlab_list_mr_context_commits
merge_request.createFreegitlab_mr_create
merge_request.create_pipelineFreegitlab_mr_create_pipeline
merge_request.create_todoFreegitlab_mr_create_todo
merge_request.deleteFreegitlab_mr_delete
merge_request.dependencies_listPremiumgitlab_mr_dependencies_list
merge_request.dependency_createPremiumgitlab_mr_dependency_create
merge_request.dependency_deletePremiumgitlab_mr_dependency_delete
merge_request.emoji_mr_createFreegitlab_mr_emoji_create
merge_request.emoji_mr_deleteFreegitlab_mr_emoji_delete
merge_request.emoji_mr_getFreegitlab_mr_emoji_get
merge_request.emoji_mr_listFreegitlab_mr_emoji_list
merge_request.emoji_mr_note_createFreegitlab_mr_note_emoji_create
merge_request.emoji_mr_note_deleteFreegitlab_mr_note_emoji_delete
merge_request.emoji_mr_note_getFreegitlab_mr_note_emoji_get
merge_request.emoji_mr_note_listFreegitlab_mr_note_emoji_list
merge_request.event_mr_label_getFreegitlab_mr_label_event_get
merge_request.event_mr_label_listFreegitlab_mr_label_event_list
merge_request.event_mr_milestone_getFreegitlab_mr_milestone_event_get
merge_request.event_mr_milestone_listFreegitlab_mr_milestone_event_list
merge_request.event_mr_state_getFreegitlab_mr_state_event_get
merge_request.event_mr_state_listFreegitlab_mr_state_event_list
merge_request.getFreegitlab_mr_get
merge_request.issues_closedFreegitlab_mr_issues_closed
merge_request.listFreegitlab_mr_list
merge_request.list_globalFreegitlab_mr_list_global
merge_request.list_groupFreegitlab_mr_list_group
merge_request.mergeFreegitlab_mr_merge
merge_request.participantsFreegitlab_mr_participants
merge_request.pipelinesFreegitlab_mr_pipelines
merge_request.rebaseFreegitlab_mr_rebase
merge_request.related_issuesFreegitlab_mr_related_issues
merge_request.reviewersFreegitlab_mr_reviewers
merge_request.spent_time_addFreegitlab_mr_add_spent_time
merge_request.spent_time_resetFreegitlab_mr_reset_spent_time
merge_request.subscribeFreegitlab_mr_subscribe
merge_request.time_estimate_resetFreegitlab_mr_reset_time_estimate
merge_request.time_estimate_setFreegitlab_mr_set_time_estimate
merge_request.time_statsFreegitlab_mr_time_stats
merge_request.unapproveFreegitlab_mr_unapprove
merge_request.unsubscribeFreegitlab_mr_unsubscribe
merge_request.updateFreegitlab_mr_update

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.approval_state, merge_request.approval_rules, merge_request.approve.

  • Meta-herramienta: gitlab_merge_request, acción approval_config
  • Herramienta individual: gitlab_mr_approval_config
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path

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

  • Meta-herramienta: gitlab_merge_request, acción approval_reset
  • Herramienta individual: gitlab_mr_approval_reset
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path

Create an approval rule on a merge request. Returns: the created rule with its type, required count, eligible approvers, users, and groups. See also: merge_request.approval_rules, merge_request.approval_rule_update, merge_request.approval_rule_delete.

  • Meta-herramienta: gitlab_merge_request, acción approval_rule_create
  • Herramienta individual: gitlab_mr_approval_rule_create
  • Nivel: Premium
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
approvals_requiredintegersíNumber of approvals required
merge_request_iidintegersíMerge request internal ID
namestringsíRule name
project_idstring/integersíProject ID or URL-encoded path
approval_project_rule_idintegernoProject-level approval rule ID to inherit from
group_idsinteger[]noGroup IDs eligible to approve
user_idsinteger[]noUser IDs eligible to approve

Delete an approval rule from a merge request. Returns: a success confirmation. See also: merge_request.approval_rules, merge_request.approval_rule_update, merge_request.approval_rule_create.

  • Meta-herramienta: gitlab_merge_request, acción approval_rule_delete
  • Herramienta individual: gitlab_mr_approval_rule_delete
  • Nivel: Premium
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
approval_rule_idintegersíApproval rule ID
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path

Update an approval rule on a merge request. Returns: the updated rule with its type, required count, eligible approvers, users, and groups. See also: merge_request.approval_rules, merge_request.approval_rule_create, merge_request.approval_rule_delete.

  • Meta-herramienta: gitlab_merge_request, acción approval_rule_update
  • Herramienta individual: gitlab_mr_approval_rule_update
  • Nivel: Premium
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
approval_rule_idintegersíApproval rule ID
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path
approvals_requiredintegernoNumber of approvals required
group_idsinteger[]noGroup IDs eligible to approve
namestringnoRule name
user_idsinteger[]noUser IDs eligible to approve

List the approval rules of a merge request. Returns: each rule with its type, required count, approved flag, eligible approvers, users, groups, and source rule, with pagination metadata. See also: merge_request.approval_rule_create, merge_request.approval_rule_update, merge_request.approval_state.

  • Meta-herramienta: gitlab_merge_request, acción approval_rules
  • Herramienta individual: gitlab_mr_approval_rules
  • Nivel: Premium
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.

Read the merge request approval settings of a group. Returns: each setting (allow author approval, allow committer approval, allow approver-list overrides, retain approvals on push, selective code owner removals, require password to approve, require reauthentication to approve) with its value, locked flag, and inherited-from source. See also: merge_request.approval_settings_group_update, merge_request.approval_settings_project_get.

  • Meta-herramienta: gitlab_merge_request, acción approval_settings_group_get
  • Herramienta individual: gitlab_get_group_mr_approval_settings
  • Nivel: Premium
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
group_idstring/integersíGroup ID or URL-encoded path

merge_request.approval_settings_group_update

Sección titulada «merge_request.approval_settings_group_update»

Update the merge request approval settings of a group. Returns: the resulting settings (value, locked flag, and inherited-from source for each setting). See also: merge_request.approval_settings_group_get, merge_request.approval_settings_project_update.

  • Meta-herramienta: gitlab_merge_request, acción approval_settings_group_update
  • Herramienta individual: gitlab_update_group_mr_approval_settings
  • Nivel: Premium
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
group_idstring/integersíGroup ID or URL-encoded path
allow_author_approvalbooleannoAllow merge request authors to approve their own MRs
allow_committer_approvalbooleannoAllow committers to approve MRs they contributed to
allow_overrides_to_approver_list_per_merge_requestbooleannoAllow overriding the approver list per merge request
require_reauthentication_to_approvebooleannoRequire password re-entry to approve
retain_approvals_on_pushbooleannoRetain approvals when new commits are pushed

Read the merge request approval settings of a project. Returns: each setting (allow author approval, allow committer approval, allow approver-list overrides, retain approvals on push, selective code owner removals, require password to approve, require reauthentication to approve) with its value, locked flag, and inherited-from source. See also: merge_request.approval_settings_project_update, merge_request.approval_settings_group_get.

  • Meta-herramienta: gitlab_merge_request, acción approval_settings_project_get
  • Herramienta individual: gitlab_get_project_mr_approval_settings
  • Nivel: Premium
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or URL-encoded path

merge_request.approval_settings_project_update

Sección titulada «merge_request.approval_settings_project_update»

Update the merge request approval settings of a project. Returns: the resulting settings (value, locked flag, and inherited-from source for each setting). See also: merge_request.approval_settings_project_get, merge_request.approval_settings_group_update.

  • Meta-herramienta: gitlab_merge_request, acción approval_settings_project_update
  • Herramienta individual: gitlab_update_project_mr_approval_settings
  • Nivel: Premium
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or URL-encoded path
allow_author_approvalbooleannoAllow merge request authors to approve their own MRs
allow_committer_approvalbooleannoAllow committers to approve MRs they contributed to
allow_overrides_to_approver_list_per_merge_requestbooleannoAllow overriding the approver list per merge request
require_reauthentication_to_approvebooleannoRequire password re-entry to approve
retain_approvals_on_pushbooleannoRetain approvals when new commits are pushed
selective_code_owner_removalsbooleannoOnly remove Code Owner approvals for changed files (project-only)

Get the approval state of a merge request. Returns: whether project rules were overwritten and each applicable rule with its type, required count, approved flag, and approvers. See also: merge_request.approval_rules, merge_request.approval_config, merge_request.approve.

  • Meta-herramienta: gitlab_merge_request, acción approval_state
  • Herramienta individual: gitlab_mr_approval_state
  • Nivel: Premium
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción approve
  • Herramienta individual: gitlab_mr_approve
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
shastringnoHead SHA of the merge request. Approve only if HEAD matches (safety check, applies to approve only)

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.

  • Meta-herramienta: gitlab_merge_request, acción cancel_auto_merge
  • Herramienta individual: gitlab_mr_cancel_auto_merge
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
include_diverged_commits_countbooleannoInclude the count of commits the source branch is behind the target branch (diverged_commits_count)
include_rebase_in_progressbooleannoInclude whether a rebase is currently in progress (rebase_in_progress)
render_htmlbooleannoReturn the title and description rendered to HTML

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.

  • Meta-herramienta: gitlab_merge_request, acción commits
  • Herramienta individual: gitlab_mr_commits
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order results by (e.g. created_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc, desc)

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.

  • Meta-herramienta: gitlab_merge_request, acción context_commits_create
  • Herramienta individual: gitlab_create_mr_context_commits
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
commitsstring[]síList of commit SHAs to add as context
merge_request_iidintegersíMerge request IID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción context_commits_delete
  • Herramienta individual: gitlab_delete_mr_context_commits
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
commitsstring[]síList of commit SHAs to remove from context
merge_request_iidintegersíMerge request IID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción context_commits_list
  • Herramienta individual: gitlab_list_mr_context_commits
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID
project_idstring/integersíProject ID or URL-encoded path
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.

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.

  • Meta-herramienta: gitlab_merge_request, acción create
  • Herramienta individual: gitlab_mr_create
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or URL-encoded path
source_branchstringsíSource branch name
target_branchstringsíTarget branch name. If not specified by the user use the project default branch from project.get (do NOT assume main)
titlestringsíMerge request title
allow_collaborationbooleannoAllow commits from upstream members who can merge to target branch
approvals_before_merge (Premium)integernoNumber of approvals required before this MR can be merged (deprecated. Use the approval rules API)
assignee_idintegernoSingle user ID to assign (use assignee_ids for multiple)
assignee_idsinteger[]noUser IDs to assign
descriptionstringnoMerge request description (Markdown supported)
labelsstring[]noLabel names to apply
milestone_idintegernoMilestone ID to associate with the merge request
remove_source_branchbooleannoDelete source branch after merge. Only set if explicitly requested by the user. Omit to preserve repository defaults
reviewer_idsinteger[]noUser IDs to add as reviewers
squashbooleannoSquash commits on merge. Only set if explicitly requested by the user. Omit to preserve repository defaults
target_project_idintegernoTarget project ID (for cross-project/fork MRs)

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.

  • Meta-herramienta: gitlab_merge_request, acción create_pipeline
  • Herramienta individual: gitlab_mr_create_pipeline
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción create_todo
  • Herramienta individual: gitlab_mr_create_todo
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path

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

  • Meta-herramienta: gitlab_merge_request, acción delete
  • Herramienta individual: gitlab_mr_delete
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID to delete (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path

List a merge request’s blocking dependencies. Returns: the dependency links with blocking MR references and their states, with pagination metadata. See also: merge_request.dependency_create, merge_request.dependency_delete.

  • Meta-herramienta: gitlab_merge_request, acción dependencies_list
  • Herramienta individual: gitlab_mr_dependencies_list
  • Nivel: Premium
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.

Add a blocking dependency to a merge request. Returns: the created dependency linking the MR to its blocking MR. See also: merge_request.dependency_delete, merge_request.dependencies_list.

  • Meta-herramienta: gitlab_merge_request, acción dependency_create
  • Herramienta individual: gitlab_mr_dependency_create
  • Nivel: Premium
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
blocking_merge_request_idintegernoID of the merge request that blocks this one

Remove a blocking dependency from a merge request. Returns: a success confirmation naming the dependency, the MR, and the project. See also: merge_request.dependency_create, merge_request.dependencies_list.

  • Meta-herramienta: gitlab_merge_request, acción dependency_delete
  • Herramienta individual: gitlab_mr_dependency_delete
  • Nivel: Premium
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
blocking_merge_request_idintegernoID of the dependency to remove: the id of a dependencies_list entry, not the blocking merge request’s own id

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_create
  • Herramienta individual: gitlab_mr_emoji_create
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
namestringsíEmoji name without colons (e.g. thumbsup)
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_delete
  • Herramienta individual: gitlab_mr_emoji_delete
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
award_idintegersíAward emoji ID
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_get
  • Herramienta individual: gitlab_mr_emoji_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
award_idintegersíAward emoji ID
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_list
  • Herramienta individual: gitlab_mr_emoji_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order results by (e.g. created_at, updated_at, id). Used with keyset pagination.
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort order: ‘asc’ or ‘desc’.

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_note_create
  • Herramienta individual: gitlab_mr_note_emoji_create
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
namestringsíEmoji name without colons (e.g. thumbsup)
note_idintegersíNote ID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_note_delete
  • Herramienta individual: gitlab_mr_note_emoji_delete
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
award_idintegersíAward emoji ID
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
note_idintegersíNote ID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_note_get
  • Herramienta individual: gitlab_mr_note_emoji_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
award_idintegersíAward emoji ID
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
note_idintegersíNote ID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción emoji_mr_note_list
  • Herramienta individual: gitlab_mr_note_emoji_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
note_idintegersíNote ID
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order results by (e.g. created_at, updated_at, id). Used with keyset pagination.
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort order: ‘asc’ or ‘desc’.

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.

  • Meta-herramienta: gitlab_merge_request, acción event_mr_label_get
  • Herramienta individual: gitlab_mr_label_event_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
label_event_idintegersíLabel event ID
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción event_mr_label_list
  • Herramienta individual: gitlab_mr_label_event_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order keyset-paginated results by (e.g. id)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction for keyset pagination: asc or desc

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.

  • Meta-herramienta: gitlab_merge_request, acción event_mr_milestone_get
  • Herramienta individual: gitlab_mr_milestone_event_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
milestone_event_idintegersíMilestone event ID
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción event_mr_milestone_list
  • Herramienta individual: gitlab_mr_milestone_event_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order keyset-paginated results by (e.g. id)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction for keyset pagination: asc or desc

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.

  • Meta-herramienta: gitlab_merge_request, acción event_mr_state_get
  • Herramienta individual: gitlab_mr_state_event_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path
state_event_idintegersíState event ID

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.

  • Meta-herramienta: gitlab_merge_request, acción event_mr_state_list
  • Herramienta individual: gitlab_mr_state_event_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request internal ID
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order keyset-paginated results by (e.g. id)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction for keyset pagination: asc or desc

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.

  • Meta-herramienta: gitlab_merge_request, acción get
  • Herramienta individual: gitlab_mr_get
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
include_diverged_commits_countbooleannoInclude the count of commits the source branch is behind the target branch (diverged_commits_count)
include_rebase_in_progressbooleannoInclude whether a rebase is currently in progress (rebase_in_progress)
render_htmlbooleannoReturn the title and description rendered to HTML

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.

  • Meta-herramienta: gitlab_merge_request, acción issues_closed
  • Herramienta individual: gitlab_mr_issues_closed
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order results by (e.g. created_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc, desc)

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.

  • Meta-herramienta: gitlab_merge_request, acción list
  • Herramienta individual: gitlab_mr_list
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
project_idstring/integersíProject ID or URL-encoded path
approved_by_idsinteger/string[]noFilter by MRs approved by all listed user IDs. Accepts user IDs, or exactly one of “Any” (approved by someone) or “None” (unapproved)
approved_by_usernamesstring[]noFilter by MRs approved by all listed usernames
approver_idsinteger/string[]noFilter by MRs with all listed users as eligible approvers. Accepts user IDs, or exactly one of “Any” (has approvers) or “None” (has none)
assignee_idintegernoFilter by assignee user ID
author_idintegernoFilter by author user ID
author_usernamestringnoFilter by author username
created_afterstringnoReturn MRs created after date (ISO 8601 format, e.g. 2025-01-01T00:00:00Z)
created_beforestringnoReturn MRs created before date (ISO 8601 format, e.g. 2025-12-31T23:59:59Z)
deployed_afterstringnoReturn MRs deployed after date (ISO 8601 format)
deployed_beforestringnoReturn MRs deployed before date (ISO 8601 format)
draftbooleannoFilter by draft status (true=only drafts, false=only non-drafts)
environmentstringnoFilter by deployment environment name
iidsinteger[]noFilter by merge request internal IDs
labelsstring[]noLabel names to filter by
milestonestringnoMilestone title to filter by
my_reaction_emojistringnoFilter by MRs the caller reacted to with this emoji (e.g. thumbsup)
non_archivedbooleannoReturn merge requests from non-archived projects only. Default is true
not_author_usernamestringnoExclude MRs authored by this username
not_labelsstring[]noLabel names to exclude
order_bystring (created_at, updated_at, title)noOrder by field (created_at, updated_at, title)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
reviewer_idintegernoFilter by reviewer user ID
reviewer_usernamestringnoFilter by reviewer username
scopestring (created_by_me, assigned_to_me, reviews_for_me, all)noFilter by scope (created_by_me, assigned_to_me, reviews_for_me, all)
searchstringnoSearch in title and description
sortstring (asc, desc)noSort direction (asc, desc)
source_branchstringnoFilter by source branch name
statestring (opened, closed, locked, merged, all)noFilter by state (opened, closed, merged, all)
target_branchstringnoFilter by target branch name
updated_afterstringnoReturn MRs updated after date (ISO 8601 format, e.g. 2025-01-01T00:00:00Z)
updated_beforestringnoReturn MRs updated before date (ISO 8601 format, e.g. 2025-12-31T23:59:59Z)
viewstring (simple)noSet to ‘simple’ to return only basic MR fields
wipstring (yes, no)noFilter by draft/WIP status: ‘yes’ for draft MRs, ‘no’ for non-draft
with_labels_detailsbooleannoInclude full label details (color, description) in the response
with_merge_status_recheckbooleannoAsynchronously recalculate each MR’s merge_status before returning

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.

  • Meta-herramienta: gitlab_merge_request, acción list_global
  • Herramienta individual: gitlab_mr_list_global
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
approved_by_idsinteger/string[]noFilter by MRs approved by all listed user IDs. Accepts user IDs, or exactly one of “Any” (approved by someone) or “None” (unapproved)
approved_by_usernamesstring[]noFilter by MRs approved by all listed usernames
approver_idsinteger/string[]noFilter by MRs with all listed users as eligible approvers. Accepts user IDs, or exactly one of “Any” (has approvers) or “None” (has none)
assignee_idintegernoFilter by assignee user ID
author_idintegernoFilter by author user ID
author_usernamestringnoFilter by author username
created_afterstringnoReturn MRs created after date (ISO 8601)
created_beforestringnoReturn MRs created before date (ISO 8601)
draftbooleannoFilter by draft status (true=only drafts, false=only non-drafts)
instringnoScope of the search filter (e.g. title, description, or title,description)
labelsstring[]noLabel names to filter by
milestonestringnoMilestone title to filter by
my_reaction_emojistringnoFilter by MRs the caller reacted to with this emoji (e.g. thumbsup)
non_archivedbooleannoReturn merge requests from non-archived projects only. Default is true
not_author_usernamestringnoExclude MRs authored by this username
not_labelsstring[]noLabel names to exclude
order_bystring (created_at, updated_at)noOrder by field (created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
reviewer_idintegernoFilter by reviewer user ID
reviewer_usernamestringnoFilter by reviewer username
scopestring (created_by_me, assigned_to_me, reviews_for_me, all)noWhich merge requests to return: created_by_me (the caller’s own, and GitLab’s default when scope is omitted), assigned_to_me, reviews_for_me, or all (every merge request the caller can see)
searchstringnoSearch in title and description
sortstring (asc, desc)noSort direction (asc, desc)
source_branchstringnoFilter by source branch name
statestring (opened, closed, locked, merged, all)noFilter by state (opened, closed, merged, all)
target_branchstringnoFilter by target branch name
updated_afterstringnoReturn MRs updated after date (ISO 8601)
updated_beforestringnoReturn MRs updated before date (ISO 8601)
viewstring (simple)noSet to ‘simple’ to return only basic MR fields
wipstring (yes, no)noFilter by draft/WIP status: ‘yes’ for draft MRs, ‘no’ for non-draft
with_labels_detailsbooleannoInclude full label details (color, description) in the response
with_merge_status_recheckbooleannoAsynchronously recalculate each MR’s merge_status before returning

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.

  • Meta-herramienta: gitlab_merge_request, acción list_group
  • Herramienta individual: gitlab_mr_list_group
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
group_idstring/integersíGroup ID or URL-encoded path
approved_by_idsinteger/string[]noFilter by MRs approved by all listed user IDs. Accepts user IDs, or exactly one of “Any” (approved by someone) or “None” (unapproved)
approved_by_usernamesstring[]noFilter by MRs approved by all listed usernames
approver_idsinteger/string[]noFilter by MRs with all listed users as eligible approvers. Accepts user IDs, or exactly one of “Any” (has approvers) or “None” (has none)
assignee_idintegernoFilter by assignee user ID
author_idintegernoFilter by author user ID
author_usernamestringnoFilter by author username
created_afterstringnoReturn MRs created after date (ISO 8601)
created_beforestringnoReturn MRs created before date (ISO 8601)
draftbooleannoFilter by draft status (true=only drafts, false=only non-drafts)
instringnoScope of the search filter (e.g. title, description, or title,description)
labelsstring[]noLabel names to filter by
milestonestringnoMilestone title to filter by
my_reaction_emojistringnoFilter by MRs the caller reacted to with this emoji (e.g. thumbsup)
non_archivedbooleannoReturn merge requests from non-archived projects only. Default is true
not_author_usernamestringnoExclude MRs authored by this username
not_labelsstring[]noLabel names to exclude
order_bystring (created_at, updated_at)noOrder by field (created_at, updated_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
reviewer_idintegernoFilter by reviewer user ID
reviewer_usernamestringnoFilter by reviewer username
scopestring (created_by_me, assigned_to_me, reviews_for_me, all)noFilter by scope (created_by_me, assigned_to_me, reviews_for_me, all)
searchstringnoSearch in title and description
sortstring (asc, desc)noSort direction (asc, desc)
source_branchstringnoFilter by source branch name
statestring (opened, closed, locked, merged, all)noFilter by state (opened, closed, merged, all)
target_branchstringnoFilter by target branch name
updated_afterstringnoReturn MRs updated after date (ISO 8601)
updated_beforestringnoReturn MRs updated before date (ISO 8601)
viewstring (simple)noSet to ‘simple’ to return only basic MR fields
wipstring (yes, no)noFilter by draft/WIP status: ‘yes’ for draft MRs, ‘no’ for non-draft
with_labels_detailsbooleannoInclude full label details (color, description) in the response
with_merge_status_recheckbooleannoAsynchronously recalculate each MR’s merge_status before returning

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.

  • Meta-herramienta: gitlab_merge_request, acción merge
  • Herramienta individual: gitlab_mr_merge
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
auto_mergebooleannoSet true only when the user asks to merge when the pipeline succeeds or enable auto-merge.
merge_commit_messagestringnoCustom merge commit message
merge_when_pipeline_succeedsbooleannoDeprecated alias for auto_merge: merge when the pipeline succeeds. Prefer auto_merge
shastringnoHead SHA of the merge request. Merge only if HEAD matches (safety check)
should_remove_source_branchbooleannoDelete source branch after merge. Only set if explicitly requested by the user. Omit to preserve repository defaults
squashbooleannoSquash commits on merge. Only set if explicitly requested by the user. Omit to preserve repository defaults
squash_commit_messagestringnoCustom squash commit message (used when squash is enabled)

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.

  • Meta-herramienta: gitlab_merge_request, acción participants
  • Herramienta individual: gitlab_mr_participants
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.

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.

  • Meta-herramienta: gitlab_merge_request, acción pipelines
  • Herramienta individual: gitlab_mr_pipelines
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.

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.

  • Meta-herramienta: gitlab_merge_request, acción rebase
  • Herramienta individual: gitlab_mr_rebase
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID to rebase (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
skip_cibooleannoSkip triggering CI pipeline after rebase

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.

  • Meta-herramienta: gitlab_merge_request, acción related_issues
  • Herramienta individual: gitlab_mr_related_issues
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
order_bystringnoColumn to order results by (e.g. created_at)
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
page_tokenstringnoKeyset pagination cursor: record id at which to fetch the next page, taken from the previous keyset response. Only used when pagination=‘keyset’.
paginationstringnoPagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.
sortstring (asc, desc)noSort direction (asc, desc)

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.

  • Meta-herramienta: gitlab_merge_request, acción reviewers
  • Herramienta individual: gitlab_mr_reviewers
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
pageintegernoPage number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward.
per_pageintegernoItems per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large.

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.

  • Meta-herramienta: gitlab_merge_request, acción spent_time_add
  • Herramienta individual: gitlab_mr_add_spent_time
  • Nivel: Free
  • Comportamiento: escribe, no idempotente
ParámetroTipoRequeridoDescripción
durationstringsíHuman-readable duration (e.g. 1h, 30m, 1w2d)
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
summarystringnoOptional summary of work done

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

  • Meta-herramienta: gitlab_merge_request, acción spent_time_reset
  • Herramienta individual: gitlab_mr_reset_spent_time
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
include_diverged_commits_countbooleannoInclude the count of commits the source branch is behind the target branch (diverged_commits_count)
include_rebase_in_progressbooleannoInclude whether a rebase is currently in progress (rebase_in_progress)
render_htmlbooleannoReturn the title and description rendered to HTML

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.

  • Meta-herramienta: gitlab_merge_request, acción subscribe
  • Herramienta individual: gitlab_mr_subscribe
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
include_diverged_commits_countbooleannoInclude the count of commits the source branch is behind the target branch (diverged_commits_count)
include_rebase_in_progressbooleannoInclude whether a rebase is currently in progress (rebase_in_progress)
render_htmlbooleannoReturn the title and description rendered to HTML

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

  • Meta-herramienta: gitlab_merge_request, acción time_estimate_reset
  • Herramienta individual: gitlab_mr_reset_time_estimate
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
include_diverged_commits_countbooleannoInclude the count of commits the source branch is behind the target branch (diverged_commits_count)
include_rebase_in_progressbooleannoInclude whether a rebase is currently in progress (rebase_in_progress)
render_htmlbooleannoReturn the title and description rendered to HTML

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.

  • Meta-herramienta: gitlab_merge_request, acción time_estimate_set
  • Herramienta individual: gitlab_mr_set_time_estimate
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
durationstringsíHuman-readable duration (e.g. 3h30m, 1w2d)
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path

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.

  • Meta-herramienta: gitlab_merge_request, acción time_stats
  • Herramienta individual: gitlab_mr_time_stats
  • Nivel: Free
  • Comportamiento: solo lectura, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
include_diverged_commits_countbooleannoInclude the count of commits the source branch is behind the target branch (diverged_commits_count)
include_rebase_in_progressbooleannoInclude whether a rebase is currently in progress (rebase_in_progress)
render_htmlbooleannoReturn the title and description rendered to HTML

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.

  • Meta-herramienta: gitlab_merge_request, acción unapprove
  • Herramienta individual: gitlab_mr_unapprove
  • Nivel: Free
  • Comportamiento: escribe, destructiva (necesita confirmación), idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
shastringnoHead SHA of the merge request. Approve only if HEAD matches (safety check, applies to approve only)

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.

  • Meta-herramienta: gitlab_merge_request, acción unsubscribe
  • Herramienta individual: gitlab_mr_unsubscribe
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
include_diverged_commits_countbooleannoInclude the count of commits the source branch is behind the target branch (diverged_commits_count)
include_rebase_in_progressbooleannoInclude whether a rebase is currently in progress (rebase_in_progress)
render_htmlbooleannoReturn the title and description rendered to HTML

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.

  • Meta-herramienta: gitlab_merge_request, acción update
  • Herramienta individual: gitlab_mr_update
  • Nivel: Free
  • Comportamiento: escribe, idempotente
ParámetroTipoRequeridoDescripción
merge_request_iidintegersíMerge request IID (project-scoped, not ‘merge_request_id’)
project_idstring/integersíProject ID or URL-encoded path
add_labelsstring[]noLabel names to add without removing existing
allow_collaborationbooleannoAllow commits from upstream members who can merge to target branch
assignee_idintegernoSingle user ID to assign (use assignee_ids for multiple)
assignee_idsinteger[]noUser IDs to assign as merge request assignees
descriptionstringnoNew description
discussion_lockedbooleannoLock discussions on the merge request
labelsstring[]noLabel names to replace all labels on the merge request
milestone_idintegernoMilestone ID (0 to unset)
remove_labelsstring[]noLabel names to remove
remove_source_branchbooleannoDelete source branch after merge. Only set if explicitly requested
reviewer_idsinteger[]noUser IDs to add as reviewers
squashbooleannoSquash commits on merge. Only set if explicitly requested
state_eventstring (close, reopen)noState transition (close, reopen)
target_branchstringnoNew target branch
titlestringnoNew title