Skip to content
Latchkey

pipeline trigger tokenとは? API経由でrunを開始する

pipeline trigger tokenは、外部システムがUIログインなしにAPI呼び出しでpipeline runを開始できるようにする秘密の認証情報です。

pipelineは、通常のpushやPRのフローの外から開始する必要がある場合があります。別のシステムが作業を終えた、schedulerが発火した、あるいはデプロイツールがbuildを起動したいときなどです。pipeline trigger tokenがそれを認可します。これは、API リクエストとともに提示されると、CIシステムに「この呼び出し元はこのpipelineを開始する権限がある」と伝える秘密情報です。

trigger tokenの用途

プログラムによるpipeline開始を認証します。人がrunをクリックする代わりに、外部サービスがtokenを載せたAPI呼び出しを送り、tokenが呼び出し元の認可を証明するためCIシステムがrunを開始します。

どう使われるか

  • プロジェクトまたはpipelineにスコープを絞ったtokenを生成する。
  • 呼び出し側のシステムにsecretとして保存する。
  • 呼び出し元がそれをtrigger APIリクエストに含める。
  • CIシステムがそれを検証してrunを開始する。

簡単な例

デプロイツールがプロビジョニングを終え、token=${TRIGGER_TOKEN} とbranchのrefを付けてCIのtriggerエンドポイントを呼び出します。CIシステムはtokenを検証し、そのbranchのpipeline runをキューに入れます。

trigger tokenを安全に保つ

trigger tokenはpipelineを開始できるため、あらゆるsecretと同様に扱いましょう。スコープを狭く絞り、暗号化して保存し、決してcommitせず、露出したらローテートします。漏洩したtokenは、誰でもあなたのpipelineをtriggerできてしまいます。

trigger tokenと連鎖

trigger tokenは、downstreamやプロジェクト間のpipelineが接続する手段です。upstreamのpipelineがtokenを提示してdownstreamのものを開始します。これらは、プロジェクトの境界を越えた多くのpipelineオーケストレーションを支える認証情報です。

重要なポイント

  • trigger tokenは、API呼び出しによるpipelineの開始を認可します。
  • 外部システムはUIログインなしにrunを起動するためにこれを提示します。
  • secretとして扱いましょう。スコープを絞り、安全に保存し、漏洩したらローテートします。

関連ガイド