CLI

Scripting

Conduza a CLI a partir de shell scripts, CI e agentes de programação com saída JSON, códigos de saída estáveis e sem prompts.

A CLI foi construída para ser conduzida por shell scripts, jobs de CI e agentes de programação. Os dados vão para stdout, tudo o mais vai para stderr, os códigos de saída são estáveis e todo prompt pode ser desligado.

Saída

A saída é texto quando stdout é um terminal e JSON quando é encadeada ou redirecionada; force um formato com --output json ou --output text, a variável POLYLANE_OUTPUT ou o arquivo de configuração, nessa ordem de precedência. stdout carrega apenas dados, sejam JSON, linhas de tabela ou tokens transmitidos, então é seguro encadear. stderr carrega spinners, progresso, dicas e erros, e no modo JSON um erro chega como um objeto com code, message e hint, onde code corresponde ao código de saída.

Flags para scripts

FlagDescrição
--output jsonForça JSON independentemente do estado do terminal
--quietSuprime spinners e progresso; stdout permanece dados puros
--non-interactiveFalha rápido em entrada ausente em vez de perguntar
--yesPula a confirmação em comandos destrutivos
--dry-runMostra o que aconteceria sem fazer mudanças
--fullRetorna objetos completos em comandos de listagem em vez da projeção estreita de campos
--api-key <key>Substitui a chave de API armazenada em uma chamada
--workspace <id>Substitui o workspace padrão em uma chamada

Com --non-interactive, polylane cloud disconnect se recusa a rodar a menos que você também passe --yes, enquanto outras confirmações, como a de polylane memory delete, são puladas, então passe --yes explicitamente para deixar a intenção clara. POLYLANE_API_KEY e POLYLANE_WORKSPACE_ID definem a credencial e o workspace a partir do ambiente, o que convém a CI; veja Autenticação.

Códigos de saída

CódigoDescrição
0Sucesso
1Erro geral
2Erro de uso: flag inválida, argumento ausente
3Erro de autenticação
4Limite de taxa ou upgrade de plano necessário
5Timeout
6Erro de rede
130Interrompido com Ctrl-C

Ramifique primeiro pelo código de saída para decidir se deve tentar de novo, reautenticar ou expor a falha, depois analise o objeto de erro em stderr para os detalhes.

Exemplo

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

polylane issue list retorna um objeto com items e count, e cada item é projetado para id, severity, status, title, resourceKind, resourceId, detectedAt e investigationThreadId; --full retorna os objetos completos. Issues explica o ciclo de vida por trás de cada status.

Relacionado

  • Autenticação: chaves de API e variáveis de ambiente para CI.
  • Configuração: configurações de saída e timeout e o arquivo de configuração.
  • Issues: os status e severidades que os comandos issue retornam.
  • Threads: o que thread ask inicia e como uma thread avança.