GitHub Actions の workflow トリガーとは?
トリガーは workflow を実行させるイベントです。トリガーは workflow の on: ブロックに列挙します。
workflow は何かがトリガーするまで何もしません。トリガーは、リポジトリのアクティビティ、スケジュール、手動アクションを on: キーを通じて自動化に接続します。
それは何か
トリガーは workflow がリッスンするイベントです。GitHub は数十種類をサポートしており、コードの push や pull request から、issue コメント、リリース、スケジュール、手動 dispatch まで含まれます。
Multiple triggers
on:
push:
branches: [main]
pull_request:
schedule:
- cron: '0 6 * * *'
workflow_dispatch:どう動くか
アクティビティが発生すると、GitHub はすべての workflow の on: ブロックをチェックします。イベントとそのフィルター(branch、path、tag)が一致すれば、GitHub は workflow run を作成します。
トリガーのフィルタリング
多くのトリガーはフィルターを受け付けるため、重要なときだけ実行できます。特定の branch、変更されたファイルの path、tag パターンなどです。これにより、無関係な変更でランナーの分を浪費するのを避けられます。
なぜ重要か
適切なトリガーを選ぶことで自動化がいつ実行されるかを制御でき、それはフィードバックの速度とコストに直接影響します。広すぎるトリガーは分を消費し、狭すぎるトリガーは重要なイベントを見逃します。
関連する概念
一般的なトリガーには push、pull_request、schedule、workflow_dispatch があり、それぞれ独自のフィルタリングオプションを持ちます。
重要なポイント
- トリガーは
on:の下で宣言されるイベントです。 - branch、path、tag でフィルタリングできます。
- トリガーの選択はフィードバックの速度とコストを制御します。
関連ガイド
What Is the workflow_dispatch Event in GitHub Actions?workflow_dispatch is a trigger that lets you run a GitHub Actions workflow manually from the UI or API, optio…
What Is a Cron Schedule in GitHub Actions?A cron schedule triggers a GitHub Actions workflow at recurring times using cron syntax under the schedule ev…
What Is a GitHub Actions Workflow File?A GitHub Actions workflow is a YAML file in .github/workflows that defines which events trigger automation an…
What Is a Workflow Run in GitHub Actions?A workflow run is a single execution of a workflow triggered by an event, with its own logs, status, and a un…