Qualquer outro CI
Qualquer coisa que consiga rodar o Node 20 ou mais novo e acessar https://api.moatgator.com funciona.
export MOATGATOR_API_KEY=mg_live_... # do cofre de secrets do seu CI; escopos: builds:write, builds:read
npx moatgator doctor # Node, rede, credencial, permissões, moatgator.yml
npx moatgator validate
npx moatgator scan path/to/app.aab --min-grade C
npx moatgator protect path/to/app.aab --app-version "$VERSION" --commit "$COMMIT_SHA"
O doctor é a forma mais rápida de descobrir por que um pipeline novo falha: ele confere cada pré-requisito e diz qual está faltando.
Saída para máquinas
npx moatgator protect app.aab --app-version 1.0.0 --json > result.json
Com --json, o stdout contém só o resultado; as mensagens para pessoas vão para o stderr. Use o código de saída para passou/falhou e o JSON para os detalhes.
Chamando a API diretamente
Se você não consegue rodar o Node, use a API pública com Authorization: Bearer mg_live_…. O CLI é só um cliente dessa API.
Variáveis de ambiente
| Variável | Uso |
|---|---|
MOATGATOR_API_KEY | Chave de API (mg_live_…) |
MOATGATOR_APP_ID | Com OIDC (só no GitHub Actions), o app que confia no repositório |
MOATGATOR_API_URL | Troca o endereço da API (padrão https://api.moatgator.com) |
MOATGATOR_APP_VERSION | Valor padrão do --app-version |