Scripting
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
| Flag | Descrição |
|---|---|
--output json | Força JSON independentemente do estado do terminal |
--quiet | Suprime spinners e progresso; stdout permanece dados puros |
--non-interactive | Falha rápido em entrada ausente em vez de perguntar |
--yes | Pula a confirmação em comandos destrutivos |
--dry-run | Mostra o que aconteceria sem fazer mudanças |
--full | Retorna 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ódigo | Descrição |
|---|---|
| 0 | Sucesso |
| 1 | Erro geral |
| 2 | Erro de uso: flag inválida, argumento ausente |
| 3 | Erro de autenticação |
| 4 | Limite de taxa ou upgrade de plano necessário |
| 5 | Timeout |
| 6 | Erro de rede |
| 130 | Interrompido 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
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
issueretornam. - Threads: o que
thread askinicia e como uma thread avança.