CLI

Scripting

Maneja la CLI desde scripts de shell, CI y agentes de programación con salida JSON, códigos de salida estables y sin indicaciones.

La CLI está construida para que la manejen scripts de shell, trabajos de CI y agentes de programación. Los datos van a stdout, todo lo demás va a stderr, los códigos de salida son estables y cada indicación se puede desactivar.

Salida

La salida es texto cuando stdout es una terminal y JSON cuando se encadena con una tubería o se redirige; fuerza un formato con --output json o --output text, la variable POLYLANE_OUTPUT o el archivo de configuración, en ese orden de precedencia. stdout lleva solo datos, ya sean JSON, filas de tabla o tokens en streaming, así que es seguro encadenarlo. stderr lleva spinners, progreso, pistas y errores, y en modo JSON un error llega como un objeto con code, message y hint, donde code coincide con el código de salida.

Flags para scripts

FlagDescripción
--output jsonFuerza JSON sin importar el estado de la terminal
--quietSuprime spinners y progreso; stdout sigue siendo datos puros
--non-interactiveFalla de inmediato ante una entrada que falta en lugar de preguntar
--yesOmite la confirmación en comandos destructivos
--dry-runMuestra qué ocurriría sin hacer cambios
--fullDevuelve objetos completos en los comandos de listado en lugar de la proyección reducida de campos
--api-key <key>Sobrescribe la clave de API guardada para una llamada
--workspace <id>Sobrescribe el espacio de trabajo por defecto para una llamada

Con --non-interactive, polylane cloud disconnect se niega a ejecutarse salvo que también pases --yes, mientras que otras confirmaciones, como la de polylane memory delete, se omiten, así que pasa --yes explícitamente para dejar clara la intención. POLYLANE_API_KEY y POLYLANE_WORKSPACE_ID fijan la credencial y el espacio de trabajo desde el entorno, lo que conviene en CI; consulta Autenticación.

Códigos de salida

CódigoDescripción
0Éxito
1Error general
2Error de uso: flag incorrecto, argumento que falta
3Error de autenticación
4Límite de tasa o mejora de plan necesaria
5Tiempo de espera agotado
6Error de red
130Interrumpido con Ctrl-C

Ramifica primero según el código de salida para decidir si reintentar, volver a autenticar o mostrar el fallo, y después analiza el objeto de error en stderr para el detalle.

Ejemplo

Terminal
polylane issue list --active --severity critical --output json --quiet \
  | jq -r '.items[] | "\(.id)\t\(.title)"'

polylane issue list devuelve un objeto con items y count, y cada elemento se proyecta a id, severity, status, title, resourceKind, resourceId, detectedAt e investigationThreadId; --full devuelve los objetos completos. Issues explica el ciclo de vida detrás de cada estado.

Relacionado

  • Autenticación: claves de API y variables de entorno para CI.
  • Configuración: ajustes de salida y tiempo de espera y el archivo de configuración.
  • Issues: los estados y severidades que devuelven los comandos issue.
  • Threads: qué inicia thread ask y cómo avanza un hilo.