Logo de QANode

CLI y API del CI/CD

Disponible en: QANode Enterprise

Esta página muestra cómo usar la CLI oficial de QANode y las rutas dedicadas de CI/CD para integrar el producto con pipelines corporativos.


CLI oficial

El paquete oficial es:

@qanode/cli

Puede usarse sin instalación global:

npx @qanode/cli help

O instalarse como dependencia de desarrollo:

npm install --save-dev @qanode/cli

Luego ejecute:

npx qanode help

Recomendación: En pipelines, npx @qanode/cli ... normalmente es suficiente y evita depender de un paquete global preinstalado.


Variables de entorno

Las dos variables principales son:

VariableDescripción
QANODE_URLURL pública de QANode
QANODE_TOKENToken de integración o token de sesión

Ejemplo:

export QANODE_URL=https://qanode.empresa.com
export QANODE_TOKEN=qnt_xxxxx

Sobre la URL

QANODE_URL debe ser la misma dirección pública que el equipo ya utiliza en el navegador.

No es necesario conocer el puerto interno de la API cuando su empresa usa:

  • reverse proxy
  • balanceador
  • un dominio público único para frontend + backend

En desarrollo local, http://localhost:3000 puede funcionar cuando el frontend reenvía /api.


Comandos principales

Validar autenticación

npx @qanode/cli auth me

Ejecutar escenario por ID

npx @qanode/cli run scenario --scenario-id SCENARIO_ID --wait

Ejecutar escenario por proyecto y nombre

npx @qanode/cli run scenario \
  --project-name "Checkout" \
  --scenario-name "Login API" \
  --wait

Ejecutar suite por ID

npx @qanode/cli run suite --suite-id SUITE_ID --wait

Ejecutar suite por proyecto y nombre

npx @qanode/cli run suite \
  --project-name "Backoffice" \
  --suite-name "Regresión Login" \
  --wait

Consultar una ejecución

npx @qanode/cli runs get --run-id RUN_ID

Esperar una ejecución existente

npx @qanode/cli runs wait --run-id RUN_ID --timeout 300

Descargar el informe consolidado

npx @qanode/cli runs artifacts --run-id RUN_ID --out ./artifacts

El comando prioriza el informe PDF consolidado y lo guarda como:

report_<runId>.pdf

Salida de la CLI

Sin --json, los comandos que devuelven un resultado final imprimen solamente:

success
failed
cancelled

Esto es intencional para simplificar el uso en pipelines.

Con --json, la CLI imprime el payload completo de la API.

Diferencia importante entre run ... --json y run ... --wait --json

Sin --wait:

npx @qanode/cli run suite --suite-id SUITE_ID --json

devuelve el payload inicial de creación de la run, que contiene runId.

Con --wait:

npx @qanode/cli run suite --suite-id SUITE_ID --wait --json

devuelve el objeto final de la run, que contiene id.

Importante: Para descargar el informe, reutilice el ID de la misma ejecución ya iniciada. No dispare una segunda run solo para descubrir el identificador.


Rutas dedicadas de CI/CD

Además de la CLI, QANode expone rutas específicamente pensadas para automatización:

MétodoRutaUso
POST/api/ci/runs/scenarioInicia una ejecución de escenario
POST/api/ci/runs/suiteInicia una ejecución de suite
GET/api/ci/runs/:idConsulta el estado actual y el resultado final

Estas rutas usan el mismo token proporcionado en QANODE_TOKEN.


Ejecución por ID o por nombre

Puede identificar el objetivo de dos formas:

Por ID

Más precisa e ideal para automatizaciones estables.

--scenario-id
--suite-id
--project-id

Por nombre

Más amigable para lectura humana.

--project-name
--scenario-name
--suite-name

Cuando use nombres, prefiera informar también el proyecto para evitar ambigüedades.


Timeouts y polling

Las principales flags de automatización son:

FlagUso
--waitEspera la finalización de la ejecución
--timeoutDefine el tiempo máximo de espera en segundos
--intervalIntervalo entre consultas de estado

Ejemplo:

npx @qanode/cli run suite \
  --suite-id SUITE_ID \
  --wait \
  --interval 5 \
  --timeout 600

Códigos de salida

El proceso de la CLI devuelve:

CódigoSignificado
0Ejecución completada con éxito
2Ejecución completada con fallo o cancelación
1Error de la CLI, autenticación o API

Esto permite usar la CLI como gate de pipeline sin parsing complejo.


Próximos Pasos