Ir al contenido

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).

ClaveTipoPor defectoSignificado
enabledbooleanfalseLa revisión de casos está activada en el proyecto. Mientras sea false, el resto se guarda pero no tiene efecto.
mandatorybooleanfalseCada caso nuevo y cada cambio en un caso deben enviarse a revisión.
allowSelfMergebooleanfalseEl autor de una solicitud de revisión puede fusionarla.
approvalsRequiredentero >= 01Aprobaciones que necesita una solicitud para poder fusionarse. 0 significa que no hay mínimo.
autoMergebooleanfalseFusiona una solicitud en cuanto alcanza approvalsRequired. Requiere approvalsRequired de al menos 1.
onlyApprovedInRunsbooleanfalseSolo los casos de prueba con reviewStatus approved pueden añadirse a ejecuciones. Consulta Casos de ejecución.
defaultReviewerUserIdsarreglo de ULID de miembro[]Miembros asignados a cada nueva solicitud de revisión, en el orden indicado. Como máximo 50.
GET /api/v1/projects/{projectId}/review-settings

Disponible 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.

PATCH /api/v1/projects/{projectId}/review-settings

Enví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"]
}
  • defaultReviewerUserIds reemplaza 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 permiso test-cases.review; si no, la solicitud responde 422 validation_failed, details.defaultReviewerUserIds enumera los ULID rechazados y no se guarda nada.
  • autoMerge: true requiere approvalsRequired de al menos 1. La regla también se comprueba con la configuración guardada: activar autoMerge mientras el valor guardado es 0, o bajar el valor a 0 mientras autoMerge está activado, responde 422 validation_failed y no guarda nada.
  • Un cambio registra un evento de auditoría project.review_settings_updated cuyo metadata.changes nombra cada opción modificada con su valor anterior y el nuevo. Para defaultReviewers, los valores son la cantidad de revisores. Una solicitud que no cambia nada no registra ningún evento.

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.

EstadoCódigoCuándo
403forbiddenEl plan no incluye la revisión de casos, o quien llama no puede cambiar la configuración.
404not_foundNo hay un proyecto con ese código en tu organización, o no puedes leerlo.
422validation_failedClave desconocida, cuerpo vacío, valor no válido, fusión automática sin aprobación necesaria o un revisor predeterminado no válido.

get_project_review_settings y update_project_review_settings reciben project_id y las mismas claves. Consulta la referencia de herramientas MCP.