UAT Studioby Salvion
Ayuda · Conexiones

La REST API de UAT Studio

Lee y registra incidencias, comentarios, sign-offs y testers desde tus propios scripts y herramientas, y deja que tu pipeline pregunte si una versión puede salir. Con una clave de API del proyecto.

Dirección https://app.uat.studio/api/v1Quién un administrador del proyecto crea la claveFormato JSONPlanes Team, Business, Partner y Enterprise
Antes de empezar

Lo que necesitas

  • El módulo Connections en tu espacio de trabajo: se incluye en los planes Team, Business, Partner y Enterprise, y como el complemento Integrations for one UAT con el plan Project.
  • Derechos de administrador en el proyecto de UAT Studio.
  • Una herramienta que pueda enviar solicitudes HTTPS: un script, tu pipeline de CI, Postman o una plataforma de integración.

¿Usas Zapier o Make? Entonces no necesitas llamar tú a la API: consulta Zapier y Make.

Configuración · una vez por proyecto

Conecta tu herramienta

1

Crea una clave de API

  1. Inicia sesión en app.uat.studio, abre el proyecto y ve a Setup.
  2. En la tarjeta API keys, escribe un nombre como Release pipeline y haz clic en Create API key.
  3. Haz clic en Copy. UAT Studio solo muestra la clave una vez. Guárdala como secreto en tu herramienta, por ejemplo UAT_STUDIO_KEY.
2

Haz una llamada

Envía la clave con cada solicitud como Authorization: Bearer, un espacio y la clave. Por ejemplo, las incidencias más recientes:

curl -H "Authorization: Bearer $UAT_STUDIO_KEY" "https://app.uat.studio/api/v1/issues?order=created&limit=10"

Una nueva incidencia, con JSON en el cuerpo:

curl -X POST "https://app.uat.studio/api/v1/issues" \
  -H "Authorization: Bearer $UAT_STUDIO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Save fails on a new quote", "severity": "High", "test_number": 12}'

La respuesta es JSON. Cada incidencia incluye su clave (ISS-012), título, descripción, gravedad, prioridad, estado, persona asignada, la prueba y el tester que la encontró, el ticket en Jira o Azure DevOps y un enlace a UAT Studio.

Qué puedes usar · https://app.uat.studio/api/v1

Las direcciones de la API

TipoSolicitudQué hace
LeerGET /meEl proyecto al que pertenece la clave.
LeerGET /issues?order=createdLas incidencias más recientes. order=updated: las últimas modificadas. También since (una fecha y hora), status y limit (hasta 100).
LeerGET /issues/ISS-012Una incidencia, con el paso al que se refiere y su historial.
CrearPOST /issuesUna nueva incidencia: title y, opcionalmente, description, severity, priority, test_number, step_number, assignee, record_url. Sin test_number (y con group para el grupo que la prueba), la incidencia recibe su propio caso de prueba en cuanto pasa a Lista para volver a probar.
CambiarPATCH /issues/ISS-012status, severity, assignee o record_url, con un comment opcional. Al poner el status de una incidencia sin caso de prueba en Ready for retest se crea su caso de prueba; la respuesta incluye entonces "test_case": "created".
CambiarPOST /issues/ISS-012/commentsUn comment en el historial.
LeerGET /casesLos casos de prueba con sus pasos y cuántos resultados son Pass, Fail, etc. También epic, since y limit (hasta 1.000).
CrearPOST /casesUn caso de prueba: title, steps (una lista de action, expected y, opcionalmente, data) y, opcionalmente, external_id, epic, group, links, priority (Must, Should o Could) y risk (High, Medium o Low). Envía de nuevo el mismo external_id para actualizarlo; los pasos que siguen en el mismo lugar conservan sus resultados.
CrearPOST /testersUn tester: name y, opcionalmente, email y group. La invitación se envía desde Setup.
LeerGET /signoffsLos sign-offs, los más recientes primero.
LeerGET /groupsLos grupos del proyecto.
LeerGET /statusGo o no-go para una versión: consulta más abajo.
Para tu pipeline

Release gate: despliega cuando el negocio haya dado su sign-off

GET /status responde con una decision: go cuando la ronda actual tiene sign-off y no hay ninguna incidencia Critical abierta, no-go cuando se rechaza un sign-off o hay una incidencia Critical abierta, y open cuando aún no se ha decidido. Con ?gate=1, cualquier cosa que no sea go responde con HTTP 409, de modo que el paso de tu pipeline falla.

- name: UAT signed off?
  run: curl --fail-with-body -sS -H "Authorization: Bearer ${{ secrets.UAT_STUDIO_KEY }}" "https://app.uat.studio/api/v1/status?gate=1"

Usa una clave propia para el pipeline, para poder revocarla por separado.

Si algo sale mal

Respuestas y qué hacer

RespuestaQué hacer
401: la clave de API no es válidaLa clave se revocó o se copió mal. Crea una clave nueva en Setup › API keys.
403: no forma parte del plan, o es de solo lecturaEl espacio de trabajo no tiene el módulo Connections, o su plan ha terminado. En modo de solo lectura, leer sigue funcionando.
404: no existe la incidencia ISS-…La clave pertenece a otro proyecto, o la incidencia se fusionó.
400: un campo no es correctoEl mensaje indica qué campo, por ejemplo una gravedad que no existe.
409 con ?gate=1La versión aún no puede salir: la respuesta contiene los motivos.
Seguridad

Cómo se protege la clave

  • Una clave da acceso a un proyecto, a nada más de tu espacio de trabajo.
  • UAT Studio solo guarda una huella de la clave, nunca la clave en sí. Setup muestra los cuatro últimos caracteres y cuándo se usó por última vez.
  • Revoke en Setup desactiva una clave al instante.
  • Cada incidencia o tester creado o cambiado mediante una clave aparece en el historial de la incidencia y en el registro de auditoría, con el nombre de la clave.
  • Nunca pongas una clave en un correo, un chat o en código; guárdala como secreto en tu herramienta.