Revisión de merge requests
Lo que hace una revisión con un merge request: leer sus cambios, sus versiones del diff y sus diffs en bruto; leer y escribir sus notas; abrir, responder y resolver discusiones en hilo, en línea sobre una línea del diff o generales; y encolar notas en borrador que siguen siendo privadas hasta que se publican, una a una o todas juntas como una sola revisión.
Aprobar, fusionar y el resto del ciclo de vida del merge request están en Merge requests, igual que los emoji de reacción en sus notas.
Preguntas de ejemplo
Sección titulada «Preguntas de ejemplo»- “¿Qué ha cambiado en el merge request !15?”
- “Comenta la línea 42 de src/app.go en el merge request !15”
- “Resuelve los hilos abiertos que inicié en el merge request !15”
- “Publica mi revisión en borrador”
Cómo llamarlo
Sección titulada «Cómo llamarlo»- Dinámica, la superficie predeterminada: llama a
gitlab_execute_actionconactionigual al ID de la acción, comomr_review.changes_get, y sus parámetros enparams.gitlab_find_actionencuentra un ID a partir de una descripción de la tarea. - Meta (
GITLAB_MCP_TOOL_SURFACE=meta): llama agitlab_mr_reviewconactionigual al nombre de la acción, comochanges_get, y sus parámetros enparams. - Individual (
GITLAB_MCP_TOOL_SURFACE=individual): llama a la herramienta propia de la acción, comogitlab_mr_changes_get, pasándole directamente sus parámetros.
Disponibilidad
Sección titulada «Disponibilidad»Todos los niveles sirven el grupo completo, tanto en instancias autogestionadas como en GitLab.com.
Acciones de solo lectura: 10 de 23, las que conserva un despliegue en modo de solo lectura. A un token con read_api y sin api se le sirven 10 de las 23.
Acciones
Sección titulada «Acciones»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. Las líneas de token dicen lo que exige GitLab 19.4.1 a un token para las peticiones que envía cada acción; en una instancia con Admin Mode activado, una acción que solo puede ejecutar un administrador necesita además admin_mode. 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).
| Acción | Individual |
|---|---|
mr_review.changes_get | gitlab_mr_changes_get |
mr_review.diff_version_get | gitlab_mr_diff_version_get |
mr_review.diff_versions_list | gitlab_mr_diff_versions_list |
mr_review.discussion_create | gitlab_mr_discussion_create |
mr_review.discussion_get | gitlab_mr_discussion_get |
mr_review.discussion_list | gitlab_mr_discussion_list |
mr_review.discussion_note_delete | gitlab_mr_discussion_note_delete |
mr_review.discussion_note_update | gitlab_mr_discussion_note_update |
mr_review.discussion_reply | gitlab_mr_discussion_reply |
mr_review.discussion_resolve | gitlab_mr_discussion_resolve |
mr_review.draft_note_create | gitlab_mr_draft_note_create |
mr_review.draft_note_delete | gitlab_mr_draft_note_delete |
mr_review.draft_note_get | gitlab_mr_draft_note_get |
mr_review.draft_note_list | gitlab_mr_draft_note_list |
mr_review.draft_note_publish | gitlab_mr_draft_note_publish |
mr_review.draft_note_publish_all | gitlab_mr_draft_note_publish_all |
mr_review.draft_note_update | gitlab_mr_draft_note_update |
mr_review.note_create | gitlab_mr_note_create |
mr_review.note_delete | gitlab_mr_note_delete |
mr_review.note_get | gitlab_mr_note_get |
mr_review.note_list | gitlab_mr_notes_list |
mr_review.note_update | gitlab_mr_note_update |
mr_review.raw_diffs | gitlab_mr_raw_diffs |
mr_review.changes_get
Sección titulada «mr_review.changes_get»Get the current file diffs (changes) for a merge request. Returns: per-file diffs with old_path, new_path, diff content, file status (added/deleted/renamed), file modes, and truncated_files when GitLab collapses large diffs. See also:
mr_review.diff_versions_list,mr_review.raw_diffs,merge_request.get.
- Meta-herramienta:
gitlab_mr_review, acciónchanges_get - Herramienta individual:
gitlab_mr_changes_get - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
order_by | string | no | For keyset pagination, the column to order results by |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: ‘asc’ or ‘desc’ |
unidiff | boolean | no | Return diffs in unified diff format (default: false) |
mr_review.diff_version_get
Sección titulada «mr_review.diff_version_get»Get a single merge request diff version with its commits and file diffs. Returns: the diff version with id, SHAs, state, real_size, the full commit list, and per-file diffs (optionally in unified-diff format). See also:
mr_review.diff_versions_list,mr_review.changes_get.
- Meta-herramienta:
gitlab_mr_review, accióndiff_version_get - Herramienta individual:
gitlab_mr_diff_version_get - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
version_id | integer | sí | Diff version ID |
unidiff | boolean | no | Return diffs in unified diff format (default: false) |
mr_review.diff_versions_list
Sección titulada «mr_review.diff_versions_list»List all diff versions (historical snapshots) of a merge request. Returns: an array of diff versions with id, head/base/start SHAs, state, real_size, and created_at, plus pagination metadata. See also:
mr_review.diff_version_get,mr_review.changes_get.
- Meta-herramienta:
gitlab_mr_review, accióndiff_versions_list - Herramienta individual:
gitlab_mr_diff_versions_list - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
order_by | string | no | For keyset pagination, the column to order results by |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort order for keyset pagination: ‘asc’ or ‘desc’ |
mr_review.discussion_create
Sección titulada «mr_review.discussion_create»Create a new discussion thread on a merge request, optionally as an inline diff comment. Returns: the created thread with its first note (author, body, resolvable state, diff position). See also:
mr_review.discussion_reply,mr_review.discussion_list,mr_review.changes_get.
- Meta-herramienta:
gitlab_mr_review, accióndiscussion_create - Herramienta individual:
gitlab_mr_discussion_create - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Create en proyecto. Algunas llamadas también necesitan: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
body | string | sí | Discussion body |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
project_id | string/integer | sí | Project ID or URL-encoded path |
commit_id | string | no | SHA of the commit to anchor the discussion to (optional). |
created_at | string | no | Backdate the discussion creation time (ISO 8601, e.g. 2025-01-01T00:00:00Z). Requires admin or owner rights |
position | object | no | Diff position for inline comments. Omit for general MR discussions. |
mr_review.discussion_get
Sección titulada «mr_review.discussion_get»Get a single merge request discussion thread by its discussion id. Returns: the thread with every note (author, body, system flag, resolvable/resolved state, diff position). See also:
mr_review.discussion_list,mr_review.discussion_reply,mr_review.discussion_resolve.
- Meta-herramienta:
gitlab_mr_review, accióndiscussion_get - Herramienta individual:
gitlab_mr_discussion_get - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
discussion_id | string | sí | ID of the discussion |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.discussion_list
Sección titulada «mr_review.discussion_list»List discussion threads on a merge request with ordering and keyset pagination. Returns: discussion threads with their notes (author, body, system flag, resolvable state, diff position) and pagination metadata. See also:
mr_review.discussion_get,mr_review.discussion_create,merge_request.get,mr_review.note_list.
- Meta-herramienta:
gitlab_mr_review, accióndiscussion_list - Herramienta individual:
gitlab_mr_discussion_list - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
project_id | string/integer | sí | Project ID or URL-encoded path |
order_by | string | no | Column to order keyset-paginated results by (e.g. created_at, updated_at) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc or desc) |
mr_review.discussion_note_delete
Sección titulada «mr_review.discussion_note_delete»Delete a note from a merge request discussion thread (destructive). Returns: a deletion confirmation message. See also:
mr_review.discussion_note_update,mr_review.discussion_get,mr_review.discussion_list.
- Meta-herramienta:
gitlab_mr_review, accióndiscussion_note_delete - Herramienta individual:
gitlab_mr_discussion_note_delete - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Delete en proyecto (página de permisos)
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
discussion_id | string | sí | ID of the discussion containing the note |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
note_id | integer | sí | ID of the note to delete |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.discussion_note_update
Sección titulada «mr_review.discussion_note_update»Update the body or resolved state of a note in a merge request discussion thread. Returns: the updated note. See also:
mr_review.discussion_reply,mr_review.discussion_note_delete,mr_review.discussion_get.
- Meta-herramienta:
gitlab_mr_review, accióndiscussion_note_update - Herramienta individual:
gitlab_mr_discussion_note_update - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Update en proyecto (página de permisos)
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
discussion_id | string | sí | ID of the discussion containing the note |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
note_id | integer | sí | ID of the note to update |
project_id | string/integer | sí | Project ID or URL-encoded path |
body | string | no | New body text (Markdown). Leave empty to keep current body. |
created_at | string | no | Override the note creation time (ISO 8601, e.g. 2025-01-01T00:00:00Z). Requires admin or owner rights |
resolved | boolean | no | Set to true to resolve, false to unresolve. Omit to leave unchanged. |
mr_review.discussion_reply
Sección titulada «mr_review.discussion_reply»Add a reply note to an existing merge request discussion thread. Returns: the created note (author, body, timestamps, resolvable state). See also:
mr_review.discussion_create,mr_review.discussion_get,mr_review.discussion_note_update.
- Meta-herramienta:
gitlab_mr_review, accióndiscussion_reply - Herramienta individual:
gitlab_mr_discussion_reply - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Create en proyecto (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
body | string | sí | Reply body |
discussion_id | string | sí | ID of the discussion to reply to |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
project_id | string/integer | sí | Project ID or URL-encoded path |
created_at | string | no | Backdate the note creation time (ISO 8601, e.g. 2025-01-01T00:00:00Z). Requires admin or owner rights |
mr_review.discussion_resolve
Sección titulada «mr_review.discussion_resolve»Resolve or unresolve a merge request discussion thread. Returns: the thread with its updated resolved state and notes. See also:
mr_review.discussion_get,mr_review.discussion_list,mr_review.discussion_reply.
- Meta-herramienta:
gitlab_mr_review, accióndiscussion_resolve - Herramienta individual:
gitlab_mr_discussion_resolve - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Update en proyecto (página de permisos)
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
discussion_id | string | sí | ID of the discussion to resolve |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
project_id | string/integer | sí | Project ID or URL-encoded path |
resolved | boolean | sí | True to resolve, false to unresolve |
mr_review.draft_note_create
Sección titulada «mr_review.draft_note_create»Create a pending draft note on a merge request. Returns: the created draft note with ID, author, body, and inline position. See also:
mr_review.draft_note_list,mr_review.draft_note_publish,mr_review.draft_note_publish_all.
- Meta-herramienta:
gitlab_mr_review, accióndraft_note_create - Herramienta individual:
gitlab_mr_draft_note_create - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Update en proyecto. Algunas llamadas también necesitan: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
note | string | sí | Note body text (Markdown) |
project_id | string/integer | sí | Project ID or URL-encoded path |
commit_id | string | no | SHA of the commit to comment on |
in_reply_to_discussion_id | string | no | Discussion ID to reply to |
position | object | no | Diff position for inline comments on specific lines. Omit for general MR comments. |
resolve_discussion | boolean | no | Resolve the discussion when published |
mr_review.draft_note_delete
Sección titulada «mr_review.draft_note_delete»Delete a pending draft note permanently. Returns: a success confirmation naming the note, merge request, and project. See also:
mr_review.draft_note_list,mr_review.draft_note_get.
- Meta-herramienta:
gitlab_mr_review, accióndraft_note_delete - Herramienta individual:
gitlab_mr_draft_note_delete - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Update en proyecto (página de permisos)
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
note_id | integer | sí | Draft note ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.draft_note_get
Sección titulada «mr_review.draft_note_get»Get a single draft note from a merge request. Returns: the draft note with author, body, resolve flag, line code, and inline diff position. See also:
mr_review.draft_note_list,mr_review.draft_note_update,mr_review.draft_note_publish.
- Meta-herramienta:
gitlab_mr_review, accióndraft_note_get - Herramienta individual:
gitlab_mr_draft_note_get - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
note_id | integer | sí | Draft note ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.draft_note_list
Sección titulada «mr_review.draft_note_list»List pending draft notes on a merge request. Returns: each draft note with author, body, optional inline position, line code, and pagination metadata. See also:
mr_review.draft_note_get,mr_review.draft_note_create,mr_review.draft_note_publish_all.
- Meta-herramienta:
gitlab_mr_review, accióndraft_note_list - Herramienta individual:
gitlab_mr_draft_note_list - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
order_by | string | no | Order by: id (default) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort: asc or desc (default) |
mr_review.draft_note_publish
Sección titulada «mr_review.draft_note_publish»Publish a single draft note as a regular merge request note. Returns: a success confirmation naming the note, merge request, and project. See also:
mr_review.draft_note_publish_all,mr_review.draft_note_list.
- Meta-herramienta:
gitlab_mr_review, accióndraft_note_publish - Herramienta individual:
gitlab_mr_draft_note_publish - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Update en proyecto (página de permisos)
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
note_id | integer | sí | Draft note ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.draft_note_publish_all
Sección titulada «mr_review.draft_note_publish_all»Publish all of the user’s pending draft notes on a merge request, optionally with a summary note and a reviewer state. Returns: a success confirmation naming the merge request and project. See also:
mr_review.draft_note_list,mr_review.draft_note_publish.
- Meta-herramienta:
gitlab_mr_review, accióndraft_note_publish_all - Herramienta individual:
gitlab_mr_draft_note_publish_all - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Update en proyecto (página de permisos)
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
internal | boolean | no | Whether the summary note is internal, visible only to members who can see internal notes. Defaults to false and applies only together with note |
note | string | no | Summary comment GitLab posts on the merge request after publishing the drafts. Markdown is supported |
reviewer_state | string (requested_changes, reviewed) | no | Review state to record for the caller as a reviewer after publishing: requested_changes or reviewed. It does not record a formal approval |
mr_review.draft_note_update
Sección titulada «mr_review.draft_note_update»Update a pending draft note’s body or position. Returns: the updated draft note. See also:
mr_review.draft_note_get,mr_review.draft_note_publish.
- Meta-herramienta:
gitlab_mr_review, accióndraft_note_update - Herramienta individual:
gitlab_mr_draft_note_update - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Merge Request: Update en proyecto. Algunas llamadas también necesitan: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
note_id | integer | sí | Draft note ID |
project_id | string/integer | sí | Project ID or URL-encoded path |
note | string | no | Updated note body text (Markdown) |
position | object | no | Updated diff position for inline comments |
mr_review.note_create
Sección titulada «mr_review.note_create»Add a general comment (note) to a merge request. Returns: the created note with id, author, body, timestamps, and resolvable/internal flags. See also:
mr_review.note_list,merge_request.get,mr_review.discussion_create.
- Meta-herramienta:
gitlab_mr_review, acciónnote_create - Herramienta individual:
gitlab_mr_note_create - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Work Item: Create en proyecto (página de permisos)
- Comportamiento: escribe, no idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
body | string | sí | Comment body (Markdown supported) |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
project_id | string/integer | sí | Project ID or URL-encoded path |
created_at | string | no | Backdate the note to this RFC 3339 timestamp (e.g. 2026-01-15T10:00:00Z). Requires administrator or project/group owner permissions. Ignored otherwise. |
internal | boolean | no | Mark note as internal (visible only to project members) |
merge_request_diff_head_sha | string | no | Required for the deduplication of system notes: SHA referencing the most recent diff version of the merge request. |
mr_review.note_delete
Sección titulada «mr_review.note_delete»Delete a merge request note permanently. Returns: a success confirmation naming the note, MR, and project. See also:
mr_review.note_get,mr_review.note_list.
- Meta-herramienta:
gitlab_mr_review, acciónnote_delete - Herramienta individual:
gitlab_mr_note_delete - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Work Item: Delete en proyecto (página de permisos)
- Comportamiento: escribe, destructiva (necesita confirmación), idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
note_id | integer | sí | ID of the note to delete |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.note_get
Sección titulada «mr_review.note_get»Get a single merge request note by its ID. Returns: the note with author, body, timestamps, position, and resolvable/internal flags. See also:
mr_review.note_list,mr_review.note_update,mr_review.note_delete.
- Meta-herramienta:
gitlab_mr_review, acciónnote_get - Herramienta individual:
gitlab_mr_note_get - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Work Item: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
note_id | integer | sí | ID of the note to retrieve |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.note_list
Sección titulada «mr_review.note_list»List all notes (comments) on a merge request. Returns: notes with author, body, system/internal flags, and pagination metadata. See also:
mr_review.note_get,mr_review.note_create,mr_review.discussion_list.
- Meta-herramienta:
gitlab_mr_review, acciónnote_list - Herramienta individual:
gitlab_mr_notes_list - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Work Item: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
project_id | string/integer | sí | Project ID or URL-encoded path |
order_by | string (created_at, updated_at) | no | Order by field (created_at, updated_at) |
page | integer | no | Page number to fetch, 1-based. Defaults to 1. Use the next_page field from the previous response to paginate forward. |
page_token | string | no | Next page of a keyset listing: the next_page_token of the previous response of this action, passed back unchanged. It carries the position and every filter of the listing as GitLab read them, and those are what the next page is asked with, whatever filters are sent beside it. Leave it empty for the first page. |
pagination | string | no | Pagination method: ‘keyset’ for keyset-based pagination on large ordered result sets, or ‘offset’ (the default). Keyset avoids deep-offset cost, and a keyset page names the next one in next_page_token rather than next_page. |
per_page | integer | no | Items per page. Defaults to 20, minimum 1, maximum 100. Use 100 to minimize round trips when the result set is large. |
sort | string (asc, desc) | no | Sort direction (asc, desc) |
mr_review.note_update
Sección titulada «mr_review.note_update»Update a merge request note’s body. Returns: the updated note with new body and updated_at timestamp. See also:
mr_review.note_get,mr_review.note_list,mr_review.note_delete.
- Meta-herramienta:
gitlab_mr_review, acciónnote_update - Herramienta individual:
gitlab_mr_note_update - Nivel: Free
- Token clásico u OAuth:
api - Token de grano fino: Work Item: Update en proyecto (página de permisos)
- Comportamiento: escribe, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
body | string | sí | Updated comment body |
merge_request_iid | integer | sí | Merge request IID (project-scoped, not ‘merge_request_id’) |
note_id | integer | sí | ID of the note to update |
project_id | string/integer | sí | Project ID or URL-encoded path |
mr_review.raw_diffs
Sección titulada «mr_review.raw_diffs»Get the raw unified-diff output for a merge request in plain-text git-apply format. Returns: raw_diff, a single plain-text unified diff for the MR head suitable for patch application or programmatic analysis. See also:
mr_review.changes_get,mr_review.diff_versions_list.
- Meta-herramienta:
gitlab_mr_review, acciónraw_diffs - Herramienta individual:
gitlab_mr_raw_diffs - Nivel: Free
- Token clásico u OAuth:
read_api(oapi) - Token de grano fino: Merge Request: Read en proyecto (página de permisos)
- Comportamiento: solo lectura, idempotente
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
merge_request_iid | integer | sí | Merge request internal ID |
project_id | string/integer | sí | Project ID or URL-encoded path |