Ir al contenido

API de entornos

Los entornos son contextos de prueba por proyecto con nombre (por ejemplo staging, pre-prod, production) que pueden asociarse a ejecuciones de prueba. Cada entorno tiene un ULID único asignado por el servidor y un slug legible que debe ser único entre los entornos activos dentro de un proyecto.

POST/api/v1/projects/{projectId}/environments

{projectId} es el código del proyecto (por ejemplo ACME).

CampoObligatorioNotas
nameCadena no vacía, máximo 120 caracteres
slugSegmentos alfanuméricos en minúsculas unidos por guiones simples. Sin guiones al inicio, al final ni dobles. Ejemplos: staging, pre-prod, pre-prod-v2
descriptionnoDescripción en texto libre, máximo 2000 caracteres
urlnoURL válida, máximo 2000 caracteres
isDefaultnotrue para marcar como entorno predeterminado del proyecto. Demota atómicamente al predeterminado actual. Por defecto es false

Los campos ulid enviados por el cliente son rechazados.

201 con el objeto del entorno creado. Ver Campos de respuesta.

Un slug duplicado entre entornos activos del proyecto devuelve 409 conflict. Un formato de slug inválido o un name vacío devuelven 422 validation_failed.

Ventana de terminal
curl -sS -X POST \
-H "Authorization: Bearer $PROBARA_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Staging","slug":"staging","isDefault":true}' \
"https://probara.net/api/v1/projects/ACME/environments"
GET/api/v1/projects/{projectId}/environments

Devuelve los entornos activos (no eliminados) del proyecto, del más reciente al más antiguo. Paginación por página.

ParámetroNotas
pageNúmero de página (base 1, por defecto 1)
pageSizeElementos por página (por defecto 50, máximo 200)

200 con { items, page, pageSize, total }. Cada ítem sigue el formato de respuesta.

Ventana de terminal
curl -sS \
-H "Authorization: Bearer $PROBARA_API_TOKEN" \
"https://probara.net/api/v1/projects/ACME/environments"
GET/api/v1/environments/{environmentUlid}

Devuelve un único entorno activo en el ámbito de la organización activa.

Devuelve 404 not_found si el entorno no pertenece a la organización activa o ha sido eliminado.

Ventana de terminal
curl -sS \
-H "Authorization: Bearer $PROBARA_API_TOKEN" \
"https://probara.net/api/v1/environments/01JXXXXXXXXXXXXXXXXXXXXXXXXX"
PATCH/api/v1/environments/{environmentUlid}

Actualización parcial. Se requiere al menos un campo; un cuerpo vacío devuelve 422 validation_failed.

CampoObligatorioNotas
namenoCadena no vacía, máximo 120 caracteres
slugnoMismas reglas de formato que al crear
descriptionnoMáximo 2000 caracteres, o null para borrar
urlnoURL válida, o null para borrar
isDefaultnotrue para promover este entorno como predeterminado del proyecto; demota atómicamente al predeterminado actual

Un slug duplicado devuelve 409 conflict. Devuelve 404 not_found si el entorno no pertenece a la organización activa.

Ventana de terminal
curl -sS -X PATCH \
-H "Authorization: Bearer $PROBARA_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Pre-producción","isDefault":false}' \
"https://probara.net/api/v1/environments/01JXXXXXXXXXXXXXXXXXXXXXXXXX"
DELETE/api/v1/environments/{environmentUlid}

Elimina el entorno de forma lógica (soft-delete). Devuelve 204 si tiene éxito. Un GET posterior devuelve 404 not_found y el entorno queda excluido de los resultados del listado.

Devuelve 404 not_found si el entorno no pertenece a la organización activa.

Ventana de terminal
curl -sS -X DELETE \
-H "Authorization: Bearer $PROBARA_API_TOKEN" \
"https://probara.net/api/v1/environments/01JXXXXXXXXXXXXXXXXXXXXXXXXX"

Los endpoints de mutación (POST, PATCH) y GET /api/v1/environments/{environmentUlid} devuelven un único objeto de entorno con los siguientes campos.

CampoTipoNotas
ulidstring (ULID)Identificador único asignado por el servidor
projectUlidstring (ULID)El proyecto al que pertenece este entorno
namestringNombre para mostrar
slugstringIdentificador seguro para URLs
descriptionstring | nullDescripción opcional
urlstring | nullURL opcional
isDefaultbooleanIndica si es el entorno predeterminado del proyecto
createdAtnumberMilisegundos desde epoch Unix
updatedAtnumberMilisegundos desde epoch Unix

Las mutaciones de entorno emiten environment.created, environment.updated y environment.deleted en el feed de actividad de la organización. Ver Eventos de auditoría.