Saltar al contenido principal

Resultados

Los resultados registran el desenlace de ejecutar un caso de prueba dentro de una ejecución de prueba.

Endpoints

MétodoRutaScopeDescripción
GET/api/v1/runs/{id}/resultsreadListar resultados de una ejecución
POST/api/v1/runs/{id}/resultswriteInsertar/actualizar resultados en una ejecución
POST/api/v1/results/{id}/attachmentswriteSubir adjunto para un resultado

Listar resultados de una ejecución

GET /api/v1/runs/clrun001/results
Authorization: Bearer qh_...

Devuelve todas las filas de resultados de la ejecución con sus códigos de caso de prueba y estados.

Insertar/actualizar resultados en lote

POST /api/v1/runs/clrun001/results
Authorization: Bearer qh_...
Content-Type: application/json

{
"results": [
{
"test_case_code": "TC-001",
"status": "PASSED",
"duration_ms": 1240,
"framework": "playwright"
},
{
"test_case_code": "TC-002",
"status": "FAILED",
"error_message": "Expected 'Welcome' but got 'Error'",
"duration_ms": 3800,
"framework": "playwright",
"bug_ticket_key": "LIN-42"
}
]
}

Los resultados existentes para el mismo caso de prueba en esta ejecución se actualizan (upsert). Los nuevos resultados se crean.

Campos de un resultado

CampoTipoRequeridoDescripción
test_case_codestringUno deMapea al caso de prueba existente por código
test_case_idstringUno deMapea al caso de prueba existente por cuid
statusstringPASSED, FAILED, BROKEN, SKIPPED o UNKNOWN
commentstringNoNota de formato libre
bug_ticket_keystringNoClave del ticket de bug (p. ej., LIN-42)
bug_ticket_urlstringNoURL completa del ticket de bug
duration_msintegerNoDuración de ejecución en milisegundos
frameworkstringNoEtiqueta del framework de tests
error_messagestringNoDescripción breve del error
error_stackstringNoStack trace completo
executed_atdatetimeNoCuándo se ejecutó el test (ISO 8601)

Códigos de respuesta

CódigoSignificado
201Todos los resultados aceptados
207Parcial — algunos ítems rechazados. Comprueba errors[] en el cuerpo de la respuesta.

Subir un adjunto

curl -X POST https://your-qahub.com/api/v1/results/clresult001/attachments \
-H "Authorization: Bearer qh_..." \
-F "file=@screenshot.png"

Tipos de archivo permitidos: PNG, JPG, GIF, WebP, SVG, PDF, TXT, JSON, ZIP, MP4, WebM

Tamaño máximo: 10 MB por archivo (configurable via ATTACHMENT_MAX_BYTES)

Respuesta201 Created

{
"data": [
{
"id": "clattach001",
"fileName": "screenshot.png",
"mimeType": "image/png",
"size": 204800,
"createdAt": "2026-05-13T12:00:00.000Z"
}
]
}