Resultados reales de los pasos
Durante una ejecución de pruebas, un miembro registra un resultado real por cada paso. Es texto enriquecido: envíalo como Markdown en actualResult, o como documento en actualResultDocument (ver Campos de texto enriquecido). El texto admite como máximo 20000 caracteres. Las capturas y otras imágenes van insertadas en el texto: prepara cada una con POST /api/v1/images:stage y referencíala como .
Los archivos que no son imágenes del texto, como registros, trazas y videos, son adjuntos de resultado. Un archivo de resultado puede asociarse a un paso con stepIndex.
Las escrituras necesitan el permiso attachments.execute, que tienen los miembros, los administradores y los propietarios. Los visualizadores reciben 403 forbidden. Las lecturas siempre están permitidas. Las escrituras siguen las reglas de estado de la ejecución de Configuración de ejecución: una ejecución open las acepta, una ejecución closed las acepta cuando allowResultsInClosedRuns resuelve a true (el valor por defecto del código), y una ejecución aborted siempre las rechaza con 409.
Escribir el resultado de un paso
Sección titulada «Escribir el resultado de un paso»/api/v1/runs/{runUlid}/cases/{runCaseUlid}/steps/{stepUlid}/result{ "actualResult": "Se vio HTTP 500 en lugar del dashboard:\n\n"}Envía actualResult (Markdown) o actualResultDocument (el documento), nunca ambos. null borra el resultado. Si no envías ninguno, el resultado guardado no cambia.
Errores:
422 validation_failed— se envían ambas formas, o el texto incumple una regla de texto enriquecido (ver Campos de texto enriquecido). Una imagen que nunca se preparó, o que expiró, responde condetails.codeunknown_image.403 forbidden— rol visualizador.409— las reglas de estado de la ejecución de arriba.413 storage_quota_exceeded— las imágenes llevarían a la organización por encima de su cuota de almacenamiento. No se cambia nada.
Auditoría: emite run.case_step_actual_result_set con el cambio de texto plano de actual_result.
Lectura
Sección titulada «Lectura»GET /api/v1/runs/{runUlid}/cases/{runCaseUlid} devuelve el actualResult (Markdown) y el actualResultDocument de cada paso. Ambos son null cuando el paso no tiene resultado.
Imágenes
Sección titulada «Imágenes»Prepara una imagen con POST /api/v1/images:stage antes del guardado que la referencia. Quitar la imagen del texto y guardar la elimina, salvo que otro texto o una revisión guardada todavía la referencie. Las imágenes de un resultado cuentan para la cuota de almacenamiento de la organización en la categoría content_image. Un guardado que no añade imágenes nunca se rechaza por almacenamiento.
Operaciones sobre un caso de la ejecución
Sección titulada «Operaciones sobre un caso de la ejecución»POST /api/v1/runs/{runUlid}/cases/{runCaseUlid}/retry— reinicia el caso (y sus snapshots de pasos congelados) auntestedy recalcula el agregado de la ejecución. Emiterun.case_retried.DELETE /api/v1/runs/{runUlid}/cases/{runCaseUlid}— elimina el caso junto con sus pasos y recalcula el agregado de la ejecución. Emiterun.case_removed.
Ambas siguen la regla de ejecución cerrada de arriba.
Relacionado
Sección titulada «Relacionado»- Adjuntos de resultado — archivos de cualquier tipo adjuntos a un resultado completo
- Snapshots de resultados de ejecución — lo que conserva un resultado completado
- Configuración de ejecución —
allowResultsInClosedRunsy el resto del vocabulario de configuraciones de ejecución - Referencia interactiva v1 — esquemas completos