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回傳完整物件。問題說明每個狀態背後的生命週期。