CLI

Skrypty

Steruj CLI ze skryptów shell, CI i agentów kodujących z wyjściem JSON, stabilnymi kodami wyjścia i bez promptów.

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

FlagaOpis
--output jsonWymuś JSON niezależnie od stanu terminala
--quietWyłącz spinnery i postęp; stdout pozostaje czystymi danymi
--non-interactiveKończ natychmiast błędem przy brakującym wejściu zamiast pytać
--yesPomiń potwierdzenie destrukcyjnych poleceń
--dry-runPokaż, co by się stało, bez wprowadzania zmian
--fullZwracaj 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

KodOpis
0Sukces
1Błąd ogólny
2Błąd użycia: zła flaga, brakujący argument
3Błąd uwierzytelniania
4Limit szybkości albo wymagane podniesienie planu
5Przekroczenie limitu czasu
6Błąd sieci
130Przerwane 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

Terminal
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 ask i jak wątek postępuje.