API de configuración de revisión de casos
Cada proyecto tiene una configuración de revisión de casos de prueba: si los cambios en sus casos pasan por una revisión antes de llegar al repositorio, y cómo funciona esa revisión. Es la contraparte en la API de la pestaña Repositorio de la configuración del proyecto.
La revisión de casos de prueba se incluye en los planes Pro y Enterprise (y está disponible durante la
prueba gratuita). En los demás planes, ambos endpoints y sus herramientas MCP responden
403 forbidden; GET /api/v1/orgs/current incluye caseReviewEnabled para que puedas
comprobarlo antes. Un cambio a un plan inferior conserva la configuración guardada.
{projectId} es el código del proyecto (por ejemplo ACME).
Opciones
Sección titulada «Opciones»| Clave | Tipo | Por defecto | Significado |
|---|---|---|---|
enabled | boolean | false | La revisión de casos está activada en el proyecto. Mientras sea false, el resto se guarda pero no tiene efecto. |
mandatory | boolean | false | Cada caso nuevo y cada cambio en un caso deben enviarse a revisión. |
allowSelfMerge | boolean | false | El autor de una solicitud de revisión puede fusionarla. |
approvalsRequired | entero >= 0 | 1 | Aprobaciones que necesita una solicitud para poder fusionarse. 0 significa que no hay mínimo. |
autoMerge | boolean | false | Fusiona una solicitud en cuanto alcanza approvalsRequired. Requiere approvalsRequired de al menos 1. |
onlyApprovedInRuns | boolean | false | Solo los casos de prueba con reviewStatus approved pueden añadirse a ejecuciones. Consulta Casos de ejecución. |
defaultReviewerUserIds | arreglo de ULID de miembro | [] | Miembros asignados a cada nueva solicitud de revisión, en el orden indicado. Como máximo 50. |
Obtener la configuración de revisión
Sección titulada «Obtener la configuración de revisión»GET /api/v1/projects/{projectId}/review-settingsDisponible para cualquiera que pueda leer el proyecto.
{ "enabled": true, "mandatory": false, "allowSelfMerge": false, "approvalsRequired": 1, "autoMerge": false, "onlyApprovedInRuns": false, "defaultReviewerUserIds": ["01J8Z3W4X5Y6Z7A8B9C0D1E2F3"]}Un revisor predeterminado que dejó la organización o perdió el acceso al proyecto no aparece en la lista. Vuelve a aparecer si recupera el acceso.
Actualizar la configuración de revisión
Sección titulada «Actualizar la configuración de revisión»PATCH /api/v1/projects/{projectId}/review-settingsEnvía solo las claves que quieras cambiar; se requiere al menos una, y una clave desconocida se
rechaza. La respuesta es la configuración completa, tal como la devuelve GET.
{ "enabled": true, "mandatory": true, "approvalsRequired": 2, "defaultReviewerUserIds": ["01J8Z3W4X5Y6Z7A8B9C0D1E2F3"]}defaultReviewerUserIdsreemplaza la lista completa;[]la vacía. Cada ULID debe corresponder a un miembro actual de la organización con acceso al proyecto cuyo rol tenga el permisotest-cases.review; si no, la solicitud responde422 validation_failed,details.defaultReviewerUserIdsenumera los ULID rechazados y no se guarda nada.autoMerge: truerequiereapprovalsRequiredde al menos1. La regla también se comprueba con la configuración guardada: activarautoMergemientras el valor guardado es0, o bajar el valor a0mientrasautoMergeestá activado, responde422 validation_failedy no guarda nada.- Un cambio registra un evento de auditoría
project.review_settings_updatedcuyometadata.changesnombra cada opción modificada con su valor anterior y el nuevo. ParadefaultReviewers, los valores son la cantidad de revisores. Una solicitud que no cambia nada no registra ningún evento.
Autorización
Sección titulada «Autorización»Requiere el permiso projects.manage (que hoy tienen los propietarios y administradores), o ser
el propietario actual del proyecto, igual que la
configuración de ejecución. Cualquier otro recibe
403 forbidden. Los proyectos archivados mantienen su configuración editable.
Errores
Sección titulada «Errores»| Estado | Código | Cuándo |
|---|---|---|
403 | forbidden | El plan no incluye la revisión de casos, o quien llama no puede cambiar la configuración. |
404 | not_found | No hay un proyecto con ese código en tu organización, o no puedes leerlo. |
422 | validation_failed | Clave desconocida, cuerpo vacío, valor no válido, fusión automática sin aprobación necesaria o un revisor predeterminado no válido. |
Herramientas MCP
Sección titulada «Herramientas MCP»get_project_review_settings y update_project_review_settings reciben project_id y las mismas
claves. Consulta la referencia de herramientas MCP.