Scripting
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
| Drapeau | Description |
|---|---|
--output json | Forcer le JSON quel que soit l'état du terminal |
--quiet | Supprimer 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 |
--yes | Sauter la confirmation sur les commandes destructives |
--dry-run | Montrer ce qui se passerait sans rien changer |
--full | Renvoyer 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
| Code | Description |
|---|---|
| 0 | Succès |
| 1 | Erreur générale |
| 2 | Erreur d'usage : mauvais drapeau, argument manquant |
| 3 | Erreur d'authentification |
| 4 | Limite de débit ou montée de forfait requise |
| 5 | Délai dépassé |
| 6 | Erreur réseau |
| 130 | Interrompu 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
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
issuerenvoient. - Threads : ce que
thread askdémarre et comment un thread progresse.