Scripting
Die CLI ist dafür gebaut, von Shell-Skripten, CI-Jobs und Coding-Agents gesteuert zu werden. Daten gehen nach stdout, alles andere nach stderr, Exit-Codes sind stabil, und jede Abfrage lässt sich abschalten.
Ausgabe
Die Ausgabe ist Text, wenn stdout ein Terminal ist, und JSON, wenn sie gepipt oder umgeleitet wird; erzwinge ein Format mit --output json oder --output text, der Variable POLYLANE_OUTPUT oder der Konfigurationsdatei, in dieser Vorrangreihenfolge. stdout trägt nur Daten, ob JSON, Tabellenzeilen oder gestreamte Tokens, und lässt sich daher sicher pipen. stderr trägt Spinner, Fortschritt, Hinweise und Fehler, und im JSON-Modus kommt ein Fehler als Objekt mit code, message und hint, wobei code dem Exit-Code entspricht.
Flags für Skripte
| Flag | Beschreibung |
|---|---|
--output json | JSON erzwingen, unabhängig vom Terminalzustand |
--quiet | Spinner und Fortschritt unterdrücken; stdout bleibt reine Daten |
--non-interactive | Bei fehlender Eingabe sofort fehlschlagen, statt nachzufragen |
--yes | Bestätigung bei destruktiven Befehlen überspringen |
--dry-run | Zeigen, was passieren würde, ohne Änderungen vorzunehmen |
--full | Bei Listenbefehlen vollständige Objekte statt der schmalen Feldprojektion zurückgeben |
--api-key <key> | Den gespeicherten API-Schlüssel für einen Aufruf überschreiben |
--workspace <id> | Den Standard-Workspace für einen Aufruf überschreiben |
Mit --non-interactive verweigert polylane cloud disconnect die Ausführung, solange du nicht auch --yes übergibst, während andere Bestätigungen, etwa bei polylane memory delete, übersprungen werden; übergib --yes also ausdrücklich, um die Absicht klarzumachen. POLYLANE_API_KEY und POLYLANE_WORKSPACE_ID setzen Zugangsdaten und Workspace aus der Umgebung, was zur CI passt; siehe Authentifizierung.
Exit-Codes
| Code | Beschreibung |
|---|---|
| 0 | Erfolg |
| 1 | Allgemeiner Fehler |
| 2 | Verwendungsfehler: falsches Flag, fehlendes Argument |
| 3 | Authentifizierungsfehler |
| 4 | Rate-Limit oder Plan-Upgrade erforderlich |
| 5 | Timeout |
| 6 | Netzwerkfehler |
| 130 | Mit Strg-C unterbrochen |
Verzweige zuerst nach dem Exit-Code, um zu entscheiden, ob du erneut versuchst, dich neu authentifizierst oder den Fehler meldest, und parse dann das Fehlerobjekt auf stderr für Details.
Beispiel
polylane issue list --active --severity critical --output json --quiet \
| jq -r '.items[] | "\(.id)\t\(.title)"'
polylane issue list liefert ein Objekt mit items und count, und jedes Element wird auf id, severity, status, title, resourceKind, resourceId, detectedAt und investigationThreadId projiziert; --full liefert die vollständigen Objekte. Issues erklärt den Lebenszyklus hinter jedem Status.
Verwandt
- Authentifizierung: API-Schlüssel und Umgebungsvariablen für CI.
- Konfiguration: Ausgabe- und Timeout-Einstellungen und die Konfigurationsdatei.
- Issues: die Status und Schweregrade, die die
issue-Befehle liefern. - Threads: was
thread askstartet und wie ein Thread voranschreitet.