CLI

指令碼

用JSON輸出、穩定的結束代碼且沒有提示,從shell指令碼、CI與程式碼代理驅動CLI。

CLI就是為了讓shell指令碼、CI工作與程式碼代理驅動而打造的。資料送到stdout,其他一切送到stderr,結束代碼穩定,每個提示都可以關閉。

輸出

當stdout是終端機時輸出文字,被管線化或重新導向時輸出JSON;用--output json或--output text、POLYLANE_OUTPUT變數或設定檔強制指定格式,優先順序依此排列。stdout只承載資料,無論是JSON、表格列或串流的token,所以可以安全地管線化。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回傳完整物件。問題說明每個狀態背後的生命週期。

相關頁面

  • 驗證:供CI使用的API金鑰與環境變數。
  • 設定:輸出與逾時設定,以及設定檔。
  • 問題:issue指令回傳的狀態與嚴重程度。
  • Threads:thread ask啟動什麼,以及對話串如何進展。