CLI

Скриптинг

Керуйте CLI зі shell-скриптів, CI та агентів кодування з виводом JSON, стабільними кодами виходу і без запитів на введення.

CLI створено для керування зі shell-скриптів, завдань CI та агентів кодування. Дані йдуть у stdout, усе інше йде в stderr, коди виходу стабільні, і кожний запит на введення можна вимкнути.

Вивід

Вивід: це текст, коли stdout є терміналом, і JSON, коли його спрямовано в конвеєр або перенаправлено; примусово задайте формат через --output json або --output text, змінну POLYLANE_OUTPUT або файл конфігурації, у такому порядку пріоритету. stdout несе лише дані, чи то JSON, рядки таблиці або потокові токени, тому його безпечно спрямовувати в конвеєр. stderr несе спінери, перебіг, підказки та помилки, а в режимі JSON помилка надходить як об'єкт з code, message і hint, де code відповідає коду виходу.

Прапорці для скриптів

ПрапорецьОпис
--output jsonПримусовий JSON незалежно від стану термінала
--quietПриховати спінери та перебіг; stdout залишається чистими даними
--non-interactiveШвидко завершуватися з помилкою при відсутньому введенні замість запиту
--yesПропустити підтвердження на деструктивних командах
--dry-runПоказати, що сталося б, без внесення змін
--fullПовертати повні об'єкти в командах списку замість вузької проекції полів
--api-key <key>Перевизначити збережений ключ API для одного виклику
--workspace <id>Перевизначити робочий простір за замовчуванням для одного виклику

З --non-interactive команда polylane cloud disconnect відмовляється виконуватися, якщо ви не передасте також --yes, тоді як інші підтвердження, наприклад у polylane memory delete, пропускаються, тому передавайте --yes явно, щоб намір був зрозумілим. POLYLANE_API_KEY і POLYLANE_WORKSPACE_ID задають облікові дані та робочий простір із середовища, що підходить для CI; див. Автентифікація.

Коди виходу

КодОпис
0Успіх
1Загальна помилка
2Помилка використання: неправильний прапорець, відсутній аргумент
3Помилка автентифікації
4Обмеження частоти запитів або потрібне підвищення плану
5Перевищення часу очікування
6Мережева помилка
130Перервано через Ctrl-C

Спершу розгалужуйтеся за кодом виходу, щоб вирішити, чи повторювати, чи повторно автентифікуватися, чи показати збій, а потім розбирайте об'єкт помилки в stderr для деталей.

Приклад

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

polylane issue list повертає об'єкт з items і count, і кожний елемент проектується на id, severity, status, title, resourceKind, resourceId, detectedAt і investigationThreadId; --full повертає повні об'єкти. Проблеми пояснюють життєвий цикл за кожним статусом.

Пов'язане

  • Автентифікація: ключі API та змінні середовища для CI.
  • Конфігурація: налаштування виводу і часу очікування та файл конфігурації.
  • Проблеми: статуси та серйозності, які повертають команди issue.
  • Треди: що починає thread ask і як розвивається тред.