CLI

Scripting

Pilote la CLI depuis des scripts shell, la CI et des agents de codage avec une sortie JSON, des codes de sortie stables et aucune invite.

La CLI est conçue pour être pilotée par des scripts shell, des jobs de CI et des agents de codage. Les données vont sur stdout, tout le reste va sur stderr, les codes de sortie sont stables et chaque invite peut être désactivée.

Sortie

La sortie est du texte quand stdout est un terminal et du JSON quand elle est redirigée ou passée en pipe ; force un format avec --output json ou --output text, la variable POLYLANE_OUTPUT ou le fichier de configuration, dans cet ordre de priorité. stdout ne porte que des données, qu'il s'agisse de JSON, de lignes de tableau ou de tokens en streaming, donc il peut être passé en pipe sans risque. stderr porte les spinners, la progression, les indices et les erreurs, et en mode JSON une erreur arrive sous forme d'objet avec code, message et hint, où code correspond au code de sortie.

Drapeaux pour les scripts

DrapeauDescription
--output jsonForcer le JSON quel que soit l'état du terminal
--quietSupprimer les spinners et la progression ; stdout reste des données pures
--non-interactiveÉchouer immédiatement sur une entrée manquante au lieu de demander
--yesSauter la confirmation sur les commandes destructives
--dry-runMontrer ce qui se passerait sans rien changer
--fullRenvoyer les objets complets sur les commandes de liste au lieu de la projection réduite des champs
--api-key <key>Remplacer la clé API stockée pour un appel
--workspace <id>Remplacer l'espace de travail par défaut pour un appel

Avec --non-interactive, polylane cloud disconnect refuse de s'exécuter sauf si tu passes aussi --yes, tandis que d'autres confirmations, comme polylane memory delete, sont sautées, donc passe --yes explicitement pour rendre l'intention claire. POLYLANE_API_KEY et POLYLANE_WORKSPACE_ID définissent l'identifiant et l'espace de travail depuis l'environnement, ce qui convient à la CI ; voir Authentification.

Codes de sortie

CodeDescription
0Succès
1Erreur générale
2Erreur d'usage : mauvais drapeau, argument manquant
3Erreur d'authentification
4Limite de débit ou montée de forfait requise
5Délai dépassé
6Erreur réseau
130Interrompu avec Ctrl-C

Branche d'abord sur le code de sortie pour décider de réessayer, de te réauthentifier ou de faire remonter l'échec, puis analyse l'objet d'erreur sur stderr pour le détail.

Exemple

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

polylane issue list renvoie un objet avec items et count, et chaque élément est projeté sur id, severity, status, title, resourceKind, resourceId, detectedAt et investigationThreadId ; --full renvoie les objets complets. Issues explique le cycle de vie derrière chaque état.

Voir aussi

  • Authentification : les clés API et les variables d'environnement pour la CI.
  • Configuration : les réglages de sortie et de délai et le fichier de configuration.
  • Issues : les états et les sévérités que les commandes issue renvoient.
  • Threads : ce que thread ask démarre et comment un thread progresse.