スクリプティング
CLIはシェルスクリプト、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> | 1回の呼び出しで保存されたAPIキーを上書きする |
--workspace <id> | 1回の呼び出しで既定のワークスペースを上書きする |
--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のエラーオブジェクトを解析して詳細を得ます。
例
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は完全なオブジェクトを返します。各ステータスの背後にあるライフサイクルはイシューで説明しています。