polylane-automations について
Polylane Automationsは、宣言型JSONで無人のエージェント実行を設定する方法を示します。イベントに応じた調査や後続処理を自動化するチーム向けで、トリガー、ツール、アクション、結果の送信先を指定できます。
主な機能
- 01イベントトリガーと任意の遅延を設定
- 02エージェントの指示とPolylaneスキルを指定
- 03課題作成やロールバックなどの処理を実行
- 04email、Slack、webhookで結果を配信
- 05実行スレッドと実行状態を確認
- 06テンプレートまたはJSONから自動化を作成
活用シーン
- 01条件に合うアラートを調査して課題を作成
- 02スケジュールまたはwebhook起点の処理を実行
- 03重要な結果をチームの送信先へ通知
- 04手動実行で自動化をテストして調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ coreplanelabs/ skills --skill polylane-automationsインストール後、Claude Code で/polylane-automationsを入力して読み込まれたか確認します。
詳細
Polylane Automations
オートメーションは、無人で実行されるエージェントの実行です。型付きイベントが発生すると、エージェントが許可されたスキル(ツール)を使って指示を実行し、オプションの アクション が副作用を適用し、宛先 に結果を配信します。すべての要素は宣言型の JSON です。
このファイルではモデルと作成プロセスを扱います。型カタログは対象外です。型カタログには、次の最新の情報源があります。
| 情報源 | 取得方法 | 用途 |
|---|---|---|
| API スキーマ | polylane api describe automations.post | インストール済み API バージョンにおける、正式なリクエスト形式とすべてのトリガー/アクション/宛先タイプおよびフィルター |
| 公開カタログ | GET /v1/public/automations/{catalog,triggers/catalog,actions/catalog} | 認証なしでテンプレートとタイプの一覧を取得 |
| ドキュメント | https://docs.polylane.com/remediation/automations(および /triggers、/actions、/destinations、/templates。Markdown の生データは /raw/...md) | 概念、例、フィルターの意味 |
| テンプレートの形式 | polylane automation catalog --output json | 参考にできる完全な本文 |
| アタッチ可能なスキル | polylane skill list | --tool 用のスラッグ |
構成
trigger(s) ──▶ [optional delay] ──▶ agent run (instructions + tools) ──▶ actions ──▶ destinations
- トリガー — 型付きイベント:
alert、cron、webhook、github.*、<provider>.deployment、slack.message、polylane.*(issue.triaged、change_record.created、…)。プラットフォームトリガー(cron、webhook、polylane.*)は常に動作します。プロバイダーのトリガーを使うには、対応するインテグレーションを接続する必要があります。 - 指示 — エージェントが実行する、平易な英語で書かれたジョブの説明です。
- ツール — エージェントが実行中に読み込める Polylane スキル(スラッグで指定)。
- アクション — エージェントが適用できる副作用:イシューの作成、コメント/PR のマージ/送信、デプロイのロールバック、自動修正のキュー登録、外部コーディングエージェントへの引き継ぎ。
- 宛先 — 結果の配信先:
email、slack、webhook。
モード はアクションと宛先の両方を制御します。always は実行が完了するたびに起動し、smart は実行結果が注目に値すると判断された場合にのみ起動します。ただし、失敗時は常に宛先へ配信されます。影響の大きいアクション(マージ、ロールバック)には smart をおすすめします。
すべての実行はスレッドです — トランスクリプト全体を確認できます。実行状態:pending → delayed → running → completed / failed / skipped。
知っておきたい制約
- オートメーションごとに設定できるトリガーは最大 10 個 です。各タイプは 1 回のみ設定できます。ただし、
cronとwebhookは複数回設定できます。 openIssueはワークスペースの日次イシュー上限に従います。プラン上限による拒否では HTTP 426 が返されます。- Slack の宛先には Slack インテグレーションが必要です。Webhook の宛先は 10 秒でタイムアウトし、2xx 以外の応答が返ると配信は失敗として記録されます。
- ロールバックアクションとその戦略はプロバイダーごとに異なります。設定する前に
api describeで正確な戦略名を確認してください。
テンプレートを使うか、カスタムで作成するか
├─ A catalog entry matches as-is → polylane automation from-template <slug>
├─ Close but too broad → crib its body (catalog --output json), narrow the trigger, create custom
└─ Nothing matches → polylane automation create (flags or --body-file)
テンプレートから作成したオートメーションは、完全に編集できるようになります。
CLI の概要
polylane automation catalog # browse templates
polylane automation from-template <slug> # instantiate
polylane automation create \
--name "Triage Datadog alerts" \
--trigger '{"type":"alert","filters":{"sources":["datadog"],"severities":["critical"]}}' \
--instructions "Correlate the alert with recent deploys and open an issue with the findings." \
--tool investigate-errors \
--action '{"type":"openIssue","mode":"smart","defaultSeverity":"high"}' \
--delay 600000 # let a deploy settle before judging it
polylane automation trigger <id> # manual run
polylane automation executions <id> # then: execution <id> <execution-id>, rerun
--trigger/--action/--destination には JSON(複数指定可)または、フィルターのないタイプの場合はタイプ名のみを指定します(--trigger webhook)。--tool にはスラッグでスキルをアタッチします(複数指定可)。--body-file には JSON 本文全体を指定します(- は標準入力)。フラグの指定は本文に重ねて適用されます。すべてのフラグについては polylane automation create --help を参照してください。
作成チェックリスト
すべての項目を順に確認します。手動実行で意図した結果が得られたら、自動化は完了です。
- まずカタログを確認する — 適合するものがない場合にのみ、カスタムで作成します。
- トリガーの範囲を絞る — 環境、ソース、重大度、リポジトリでフィルタリングします。フィルタリングしないトリガーはすべてを対象に実行されます。自動化の対象を確認済みの問題のみにする場合は、生の
alertよりpolylane.issue.triagedを優先します。 - 手順はランブックのように記述する — 調査内容、収集する証拠、望ましい結果を明記します。
- その作業に必要なスキルだけを追加する。
- リスクの高いアクションは
smartモードで制限し、デプロイに隣接するトリガーには--delayを追加する。 - 出力先を設定する — 誰にも見られない結果は、誰にも対応されません。
- 手動実行でテストする —
automation triggerを実行し、実行のスレッドを確認します。実行がユーザーの依頼どおりになるまで、指示を繰り返し調整します。