Skrypty
CLI jest zbudowane tak, żeby sterowały nim skrypty shell, zadania CI i agenci kodujący. Dane trafiają na stdout, wszystko inne na stderr, kody wyjścia są stabilne, a każdy prompt można wyłączyć.
Wyjście
Wyjście jest tekstowe, gdy stdout jest terminalem, a JSON, gdy jest przekierowany do potoku albo pliku; format wymuszasz przez --output json albo --output text, zmienną POLYLANE_OUTPUT albo plik konfiguracyjny, w tej kolejności pierwszeństwa. stdout niesie wyłącznie dane, czy to JSON, wiersze tabeli, czy strumieniowane tokeny, więc można go bezpiecznie przekazywać dalej. stderr niesie spinnery, postęp, wskazówki i błędy, a w trybie JSON błąd przychodzi jako obiekt z code, message i hint, gdzie code odpowiada kodowi wyjścia.
Flagi dla skryptów
| Flaga | Opis |
|---|---|
--output json | Wymuś JSON niezależnie od stanu terminala |
--quiet | Wyłącz spinnery i postęp; stdout pozostaje czystymi danymi |
--non-interactive | Kończ natychmiast błędem przy brakującym wejściu zamiast pytać |
--yes | Pomiń potwierdzenie destrukcyjnych poleceń |
--dry-run | Pokaż, co by się stało, bez wprowadzania zmian |
--full | Zwracaj pełne obiekty w poleceniach listujących zamiast wąskiej projekcji pól |
--api-key <key> | Nadpisz zapisany klucz API na jedno wywołanie |
--workspace <id> | Nadpisz domyślny obszar roboczy na jedno wywołanie |
Z --non-interactive polecenie polylane cloud disconnect odmawia działania, dopóki nie przekażesz też --yes, podczas gdy inne potwierdzenia, na przykład polylane memory delete, są pomijane, więc przekazuj --yes wprost, żeby intencja była jasna. POLYLANE_API_KEY i POLYLANE_WORKSPACE_ID ustawiają poświadczenie i obszar roboczy ze środowiska, co pasuje do CI; zobacz Uwierzytelnianie.
Kody wyjścia
| Kod | Opis |
|---|---|
| 0 | Sukces |
| 1 | Błąd ogólny |
| 2 | Błąd użycia: zła flaga, brakujący argument |
| 3 | Błąd uwierzytelniania |
| 4 | Limit szybkości albo wymagane podniesienie planu |
| 5 | Przekroczenie limitu czasu |
| 6 | Błąd sieci |
| 130 | Przerwane przez Ctrl-C |
Najpierw rozgałęź na kodzie wyjścia, żeby zdecydować, czy ponowić, uwierzytelnić się ponownie albo zgłosić niepowodzenie, a potem sparsuj obiekt błędu na stderr, żeby poznać szczegóły.
Przykład
polylane issue list --active --severity critical --output json --quiet \
| jq -r '.items[] | "\(.id)\t\(.title)"'
polylane issue list zwraca obiekt z items i count, a każdy element jest rzutowany na id, severity, status, title, resourceKind, resourceId, detectedAt i investigationThreadId; --full zwraca kompletne obiekty. Problemy wyjaśniają cykl życia stojący za każdym statusem.
Powiązane
- Uwierzytelnianie: klucze API i zmienne środowiskowe dla CI.
- Konfiguracja: ustawienia wyjścia i limitu czasu oraz plik konfiguracyjny.
- Problemy: statusy i krytyczności zwracane przez polecenia
issue. - Threads: co rozpoczyna
thread aski jak wątek postępuje.