ワークフローイベントを設定する
on ワークフロー構文を使用して、1 つ以上のイベントに対して実行するようにワークフローを設定できます。 詳細については、「GitHub Actionsのワークフロー構文」を参照してください。
1つのイベントを使用する例
# Triggered when code is pushed to any branch in a repository
on: push
イベントのリストを使用する例
# Triggers the workflow on push or pull request events
on: [push, pull_request]
アクティビティの種類もしくは設定を伴う複数のイベントを使用する例
イベントに対してアクティビティの種類もしくは設定を指定する必要がある場合、それぞれのイベントを個別に設定しなければなりません。 設定を持たないイベントも含め、すべてのイベントにはコロン (:)を追加しなければなりません。
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- main
pull_request:
branches:
- main
# Also trigger on page_build, as well as release created events
page_build:
release:
types: # This configuration does not affect the page_build event above
- created
ノート: GITHUB_TOKENを使って新しいワークフローの実行をトリガーすることはできません。 詳しい情報については「個人アクセストークンを使った新しいワークフローのトリガー」を参照してください。
ワークフローの実行がトリガーされるには、以下のステップが生じます。
-
リポジトリでイベントが発生し、結果のイベントにはコミット SHA と Git ref が関連付けられます。
-
リポジトリ内の関連づけられたコミットSHAもしくはGit refにおける
.github/workflowsディレクトリ内でワークフローファイルが検索される。 ワークフローファイルは、コミットSHAあるいはGit refを考慮した上で存在していなければなりません。たとえば、イベントが特定のリポジトリブランチで発生したなら、ワークフローファイルはそのブランチ上でリポジトリ内に存在しなければなりません。
-
そのコミットSHA及びGit refのワークフローファイルが調べられ、トリガーを起こしたイベントにマッチする
on:の値を持つワークフローについて新しい実行がトリガーされる。ワークフローの実行は、イベントをトリガーしたのと同じコミットSHA及びGit refにあるリポジトリのコード上で実行されます。 ワークフローを実行すると、GitHub はランナー環境において
GITHUB_SHA(コミット SHA) およびGITHUB_REF(Git ref) 環境変数を設定します。 詳しい情報については、「環境変数の利用」を参照してください。
スケジュールしたイベント
schedule イベントを使用すると、スケジュールされた時間にワークフローをトリガーできます。
schedule
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
| n/a | n/a | デフォルトブランチの直近のコミット | デフォルトブランチ |
POSIX クーロン構文を使用して、特定の UTC 時間にワークフローを実行できるようスケジュール設定できます。 スケジュールしたワークフローは、デフォルトまたはベースブランチの直近のコミットで実行されます。 スケジュールされたワークフローを実行できる最短の間隔は、5 分ごとに 1 回です。
以下の例では、15分ごとにワークフローを実行します。
on:
schedule:
# * はYAMLに置ける特殊文字なので、この文字列は引用符で囲まなければならない
- cron: '*/15 * * * *'
クーロン構文では、スペースで分けられた 5 つのフィールドがあり、各フィールドは時間の単位を表わします。
┌───────────── 分 (0 - 59)
│ ┌───────────── 時間 (0 - 23)
│ │ ┌───────────── 日 (1 - 31)
│ │ │ ┌───────────── 月 (1 - 12 または JAN-DEC)
│ │ │ │ ┌───────────── 曜日 (0 - 6 または SUN-SAT)
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
* * * * *
5 つのフィールドいずれにおいても、以下の演算子を使用できます:
| 演算子 | 説明 | サンプル |
|---|---|---|
| * | 任意の値 | * * * * * 毎日、毎分実行します。 |
| , | 値リストの区切り文字 | 2,10 4,5 * * * 毎日、午前 4 時および午前 5 時の、2 分および 10 分に実行します。 |
| - | 値の範囲 | 0 4-6 * * * 午前 4 時、5 時、および 6 時の、0 分に実行します。 |
| / | ステップ値 | 20/15 * * * * 20 分から 59 分までの間で、15 分おきに実行します (20 分、35 分、50 分)。 |
注釈: GitHub Actions は、非標準的構文 (@yearly、@monthly、@weekly、@daily、@hourly、@reboot) をサポートしていません。
crontab guru を使うと、クーロン構文の生成および実行時間の確認に役立ちます。 また、クーロン構文の生成を支援するため、crontab guru のサンプルリストもあります。
Notifications for scheduled workflows are sent to the user who last modified the cron syntax in the workflow file. For more information, please see "Notifications for workflow runs."
手動イベント
ワークフローの実行を手動でトリガーできます。 リポジトリ内の特定のワークフローをトリガーするには、workflow_dispatch イベントを使用します。 リポジトリで複数のワークフローをトリガーし、カスタムイベントとイベントタイプを作成するには、repository_dispatch イベントを使用します。
workflow_dispatch
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
| workflow_dispatch | n/a | GITHUB_REF ブランチ上の直近のコミット | ディスパッチを受信したブランチ |
カスタム定義の入力プロパティ、デフォルトの入力値、イベントに必要な入力をワークフローで直接設定できます。 ワークフローが実行されると、 github.event.inputs コンテキスト内の入力値にアクセスできます。 詳しい情報については、「GitHub Actions のコンテキストと式構文」を参照してください。
You can manually trigger a workflow run using the GitHub API and from GitHub. 詳しい情報については、「ワークフローを手動で実行する」を参照してください。
GitHub でイベントをトリガーすると、GitHub で ref と inputs を直接入力できます。 詳しい情報については、「アクションで入力と出力を使用する」を参照してください。
REST API を使用してカスタム workflow_dispatch webhook イベントをトリガーするには、POST リクエストを GitHub API エンドポイントに送信し、ref および必要な inputs を入力する必要があります。 詳細については、「ワークフローディスパッチイベントの作成」REST API エンドポイントを参照してください。
サンプル
To use the workflow_dispatch event, you need to include it as a trigger in your GitHub Actions workflow file. The example below only runs the workflow when it's manually triggered:
on: workflow_dispatch
ワークフロー設定の例
この例では、 codeとhomeを入力として定義し、github.event.inputs.name及びgithub.event.inputs.homeコンテキストを使用してそれらを出力します。 If a home isn't provided, the default value 'The Octoverse' is printed.
name: Manually triggered workflow
on:
workflow_dispatch:
inputs:
name:
description: 'Person to greet'
required: true
default: 'Mona the Octocat'
home:
description: 'location'
required: false
default: 'The Octoverse'
jobs:
say_hello:
runs-on: ubuntu-latest
steps:
- run: |
echo "Hello ${{ github.event.inputs.name }}!"
echo "- in ${{ github.event.inputs.home }}!"
repository_dispatch
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
| repository_dispatch | n/a | デフォルトブランチの直近のコミット | デフォルトブランチ |
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
GitHub の外部で生じるアクティビティのためにワークフローをトリガーしたい場合、GitHub API を使って、repository_dispatch と呼ばれる webhook イベントをトリガーできます。 詳細については、「リポジトリディスパッチ イベントの作成」を参照してください。
カスタム repository_dispatch webhook イベントをトリガーするには、GitHub API エンドポイントに POST リクエストを送信して、アクティビティのタイプを説明する event_type 名を提供する必要があります。 ワークフローの実行をトリガーするには、repository_dispatch イベントを使用するようワークフローを設定する必要もあります。
サンプル
デフォルトでは、すべてのevent_typesがワークフローの実行をトリガーします。 特定のevent_typeの値がrepository_dispatch webhookのペイロード内で送信された時にのみワークフローが実行されるように制限できます。 リポジトリのディスパッチイベントを生成する際に、repository_dispatchペイロード内で送信されるイベントの種類を定義します。
on:
repository_dispatch:
types: [opened, deleted]
webhook イベント
GitHub で webhook イベントが作成された際にワークフローを実行するよう設定できます。 イベントによっては、そのイベントをトリガーするアクティビティタイプが 複数あります。 イベントをトリガーするアクティビティタイプが複数ある場合は、ワークフローの実行をトリガーするアクティビティタイプを指定できます。 詳しい情報については、「webhook」を参照してください。
check_run
check_run イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「チェック実行」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
check_run | - created- rerequested- completed- requested_action | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、チェック実行が rerequested または requested_action だったときにワークフローを実行する例は、次のとおりです。
on:
check_run:
types: [rerequested, requested_action]
check_suite
check_suite イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「チェックスイート」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
ノート: 再帰的なワークフローを避けるために、このイベントはGitHub Actionsによってチェックスイートが生成されている場合にはワークフローをトリガーしません。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
check_suite | - completed- requested- rerequested | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、チェック実行が rerequested または completed だったときにワークフローを実行する例は、次のとおりです。
on:
check_suite:
types: [rerequested, completed]
create
誰かがブランチまたはタグを作成し、それによって create イベントがトリガーされるときにワークフローを実行します。 REST API の詳細については、「リファレンスの作成」を参照してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
create | n/a | 直近でブランチまたはタグが作成されたコミット | 作成されたブランチまたはタグ |
たとえば、create イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
create
delete
誰かがブランチまたはタグを作成し、それによって create イベントがトリガーされるときにワークフローを実行します。 REST API の詳細については、「リファレンスの削除」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
delete | n/a | デフォルトブランチの直近のコミット | デフォルトブランチ |
たとえば、delete イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
delete
deployment
誰かがデプロイメントを作成し、それによって deploymen イベントがトリガーされるときにワークフローを実行します。 コミット SHA 付きで作成されたデプロイメントには Git ref がない場合があります。 REST API の詳細については、「デプロイメント」を参照してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
deployment | n/a | デプロイされるコミット | デプロイされるブランチまたはタグ (コミットの場合は空) |
たとえば、deployment イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
deployment
deployment_status
サードパーティプロバイダーがデプロイメントステータスを提供し、それによって deployment_status イベントがトリガーされるときにワークフローを実行します。 コミット SHA 付きで作成されたデプロイメントには Git ref がない場合があります。 REST API の詳細については、「デプロイメントステータスの作成」を参照してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
deployment_status | n/a | デプロイされるコミット | デプロイされるブランチまたはタグ (コミットの場合は空) |
たとえば、deployment_status イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
deployment_status
fork
誰かがリポジトリをフォークし、それによって deployment_status イベントがトリガーされるときにワークフローを実行します。 REST API の詳細については、「フォークの作成」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
fork | n/a | デフォルトブランチの直近のコミット | デフォルトブランチ |
たとえば、fork イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
fork
gollum
誰かが Wiki ページを作成または更新し、それによって gollum イベントがトリガーされるときにワークフローを実行します。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
gollum | n/a | デフォルトブランチの直近のコミット | デフォルトブランチ |
たとえば、gollum イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
gollum
issue_comment
issue_comment イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「Issue コメント」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
issue_comment | - created- edited- deleted | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、Issue コメントが created または deleted だったときにワークフローを実行する例は、次のとおりです。
on:
issue_comment:
types: [created, deleted]
The issue_comment event occurs for comments on both issues and pull requests. To determine whether the issue_comment event was triggered from an issue or pull request, you can check the event payload for the issue.pull_request property and use it as a condition to skip a job.
For example, you can choose to run the pr_commented job when comment events occur in a pull request, and the issue_commented job when comment events occur in an issue.
on: issue_comment
jobs:
pr_commented:
# This job only runs for pull request comments
name: PR comment
if: ${{ github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- run: |
echo "Comment on PR #${{ github.event.issue.number }}"
issue-commented:
# This job only runs for issue comments
name: Issue comment
if: ${{ !github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- run: |
echo "Comment on issue #${{ github.event.issue.number }}"
issues
Issue イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「Issue」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
issues | - opened- edited- deleted- transferred- pinned- unpinned- closed- reopened- assigned- unassigned- labeled- unlabeled- locked- unlocked- milestoned- demilestoned | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、Issue が opened、edited、または milestoned だったときにワークフローを実行する例は、次のとおりです。
on:
issues:
types: [opened, edited, milestoned]
label
label イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「ラベル」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
label | - created- edited- deleted | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、ラベルが created または deleted だったときにワークフローを実行する例は、次のとおりです。
on:
label:
types: [created, deleted]
milestone
milestone イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「マイルストーン」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
milestone | - created- closed- opened- edited- deleted | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえばマイルストーンがopenedあるいはdeletedになったときにワークフローを実行できます。
on:
milestone:
types: [opened, deleted]
page_build
誰かが GitHub ページ対応のブランチを作成し、それによって page_build イベントがトリガーされるときにワークフローを実行します。 REST API の詳細については、「ページ」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
page_build | n/a | デフォルトブランチの直近のコミット | n/a |
たとえば、page_build イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
page_build
project
project イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「プロジェクト」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
project | - created- updated- closed- reopened- edited- deleted | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、プロジェクトが created または deleted だったときにワークフローを実行する例は、次のとおりです。
on:
project:
types: [created, deleted]
project_card
project_card イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「プロジェクトカード」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
project_card | - created- moved- converted to an issue- edited- deleted | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、プロジェクトカードが opened または deleted だったときにワークフローを実行する例は、次のとおりです。
on:
project_card:
types: [opened, deleted]
project_column
project_column イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「プロジェクト列」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
project_column | - created- updated- moved- deleted | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、プロジェクト列が created または deleted だったときにワークフローを実行する例は、次のとおりです。
on:
project_column:
types: [created, deleted]
public
誰かがプライベートリポジトリをパブリックにし、それによって public イベントがトリガーされるときにワークフローを実行します。 REST API の詳細については、「リポジトリの編集」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
public | n/a | デフォルトブランチの直近のコミット | デフォルトブランチ |
たとえば、public イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
public
pull_request
pull_request イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「プルリクエスト」を参照してください。
注: デフォルトでは、ワークフローが実行されるのはpull_request のアクティビティタイプが opened、synchronize、または reopened の場合だけです。 他のアクティビティタイプについてもワークフローをトリガーするには、types キーワードを使用してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
pull_request | - assigned- unassigned- labeled- unlabeled- opened- edited- closed- reopened- synchronize- ready_for_review- locked- unlocked - review_requested - review_request_removed | GITHUB_REF ブランチ上の直近のマージコミット | PR マージブランチ refs/pull/:prNumber/merge |
デフォルトのアクティビティタイプを拡大または制限するには、types キーワードを使用します。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、プルリクエストが assigned、opened、synchronize、または reopened だったときにワークフローを実行できます。
on:
pull_request:
types: [assigned, opened, synchronize, reopened]
フォークしたリポジトリのプルリクエストイベント
ノート: フォークされたリポジトリでプルリクエストをオープンした場合には、プライベートのベースリポジトリではワークフローは実行されません。
フォークされたリポジトリからベースリポジトリに対するプルリクエストを作成した場合、GitHubはベースリポジトリに対してpull_requestイベントを送り、フォークされたリポジトリではプルリクエストイベントは生じません。
デフォルトでは、フォークされたリポジトリではワークフローは実行されません。 フォークされたリポジトリの ActionsタブでGitHub Actionsを有効化しなければなりません。
GITHUB_TOKENを除き、フォークしたリポジトリからワークフローがトリガーされた場合、シークレットはランナーに渡されません。 The permissions for the GITHUB_TOKEN in forked repositories is read-only. 詳しい情報については「GITHUB_TOKENでの認証」を参照してください。
pull_request_review
pull_request_review イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「プルリクエストレビュー」を参照してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
pull_request_review | - submitted- edited- dismissed | GITHUB_REF ブランチ上の直近のマージコミット | PR マージブランチ refs/pull/:prNumber/merge |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、プルリクエストレビューが eidted または dismissed だったときにワークフローを実行する例は、次のとおりです。
on:
pull_request_review:
types: [edited, dismissed]
フォークしたリポジトリのプルリクエストイベント
ノート: フォークされたリポジトリでプルリクエストをオープンした場合には、プライベートのベースリポジトリではワークフローは実行されません。
フォークされたリポジトリからベースリポジトリに対するプルリクエストを作成した場合、GitHubはベースリポジトリに対してpull_requestイベントを送り、フォークされたリポジトリではプルリクエストイベントは生じません。
デフォルトでは、フォークされたリポジトリではワークフローは実行されません。 フォークされたリポジトリの ActionsタブでGitHub Actionsを有効化しなければなりません。
GITHUB_TOKENを除き、フォークしたリポジトリからワークフローがトリガーされた場合、シークレットはランナーに渡されません。 The permissions for the GITHUB_TOKEN in forked repositories is read-only. 詳しい情報については「GITHUB_TOKENでの認証」を参照してください。
pull_request_review_comment
プルリクエストの統合 diff へのコメントが変更され、それによって pull_request_review_comment イベントがトリガーされるときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「レビューコメント」を参照してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
pull_request_review_comment | - created- edited- deleted | GITHUB_REF ブランチ上の直近のマージコミット | PR マージブランチ refs/pull/:prNumber/merge |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、プルリクエストレビューコメントが created または deleted だったときにワークフローを実行する例は、次のとおりです。
on:
pull_request_review_comment:
types: [created, deleted]
フォークしたリポジトリのプルリクエストイベント
ノート: フォークされたリポジトリでプルリクエストをオープンした場合には、プライベートのベースリポジトリではワークフローは実行されません。
フォークされたリポジトリからベースリポジトリに対するプルリクエストを作成した場合、GitHubはベースリポジトリに対してpull_requestイベントを送り、フォークされたリポジトリではプルリクエストイベントは生じません。
デフォルトでは、フォークされたリポジトリではワークフローは実行されません。 フォークされたリポジトリの ActionsタブでGitHub Actionsを有効化しなければなりません。
GITHUB_TOKENを除き、フォークしたリポジトリからワークフローがトリガーされた場合、シークレットはランナーに渡されません。 The permissions for the GITHUB_TOKEN in forked repositories is read-only. 詳しい情報については「GITHUB_TOKENでの認証」を参照してください。
pull_request_target
This event runs in the context of the base of the pull request, rather than in the merge commit as the pull_request event does. This prevents executing unsafe workflow code from the head of the pull request that could alter your repository or steal any secrets you use in your workflow. This event allows you to do things like create workflows that label and comment on pull requests based on the contents of the event payload.
Warning: The pull_request_target event is granted a read/write repository token and can access secrets, even when it is triggered from a fork. Although the workflow runs in the context of the base of the pull request, you should make sure that you do not check out, build, or run untrusted code from the pull request with this event. Additionally, any caches share the same scope as the base branch, and to help prevent cache poisoning, you should not save the cache if there is a possibility that the cache contents were altered.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
pull_request | - assigned- unassigned- labeled- unlabeled- opened- edited- closed- reopened- synchronize- ready_for_review- locked- unlocked - review_requested - review_request_removed | PR ベースブランチの直近のコミット | PR ベースブランチ |
デフォルトでは、ワークフローは、pull_request_target のアクティビティタイプが opened、synchronize、または reopened のときにのみ実行されます。 他のアクティビティタイプについてもワークフローをトリガーするには、types キーワードを使用してください。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、プルリクエストが assigned、opened、synchronize、または reopened だったときにワークフローを実行できます。
on:
pull_request_target:
types: [assigned, opened, synchronize, reopened]
push
ノート: GitHub Actionsが利用できるwebhookのペイロードには、commitオブジェクト中のadded、removed、modified属性は含まれません。 完全なcommitオブジェクトは、REST APIを使って取得できます。 詳しい情報については、「1つのコミットの取得」を参照してください。
誰かがリポジトリブランチにプッシュし、それによって push イベントがトリガーされるときにワークフローを実行します。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
push | n/a | プッシュされたコミット、ただし (デフォルトブランチの際に) ブランチを削除する場合を除く | 更新された ref |
たとえば、push イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
push
registry_package
パッケージがpublishedもしくはupdatedされるとワークフローを実行します。 詳しい情報については「GitHub Packagesでのパッケージ管理」を参照してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
registry_package | - published- updated | 公開されたパッケージのコミット | 公開されたパッケージのブランチもしくはタグ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、パッケージがpublishedされたときにワークフローを実行できます。
on:
registry_package:
types: [published]
release
注釈: release イベントは、ドラフトリリースではトリガーされません。
release イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「リリース」を参照してください。
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
release | - published - unpublished - created - edited - deleted - prereleased- released | リリースのタグが付いた直近のコミット | リリースのタグ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、リリースが published だったときにワークフローを実行する例は、次のとおりです。
on:
release:
types: [published]
status
Git コミットのステータスが変更された、それによって status イベントがトリガーされるときにワークフローを実行します。 REST API の詳細については、「ステータス」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
status | n/a | デフォルトブランチの直近のコミット | n/a |
たとえば、status イベントが発生したときにワークフローを実行する例は、次のとおりです。
on:
status
Watch
watch イベントが発生したときにワークフローを実行します。 このイベントは、2つ以上の種類のアクティビティで起動されます。 REST API の詳細については、「Star を付ける」を参照してください。
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
Watch | - started | デフォルトブランチの直近のコミット | デフォルトブランチ |
デフォルトでは、すべての種類のアクティビティがワークフローを実行させます。 typesキーワードを使って、ワークフローが実行されるのを特定の種類のアクティビティに限定できます。 詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。
たとえば、誰かがリポジトリに Star を付け、それが Watch イベントをトリガーする started アクティブタイプである場合にワークフローを実行する例は、次のとおりです。
on:
watch:
types: [started]
workflow_run
This event occurs when a workflow run is requested or completed, and allows you to execute a workflow based on the finished result of another workflow. For example, if your pull_request workflow generates build artifacts, you can create a new workflow that uses workflow_run to analyze the results and add a comment to the original pull request.
The workflow started by the workflow_run event is able to access the secrets and write tokens used by the original workflow.
Note: This event will only trigger a workflow run if the workflow file is on the default branch.
| webhook イベントのペイロード | アクティビティタイプ | GITHUB_SHA | GITHUB_REF |
|---|---|---|---|
workflow_run | - n/a | デフォルトブランチの直近のコミット | デフォルトブランチ |
このイベントからブランチをフィルタする必要がある場合は、branches または branches-ignore を使用できます。
この例では、ワークフローは別の「Run Tests」ワークフローの完了後に実行されるように設定されています。
on:
workflow_run:
workflows: ["Run Tests"]
branches: [main]
types:
- completed
- requested
個人アクセストークンを使った新しいワークフローのトリガー
リポジトリのGITHUB_TOKENを使ってGitHub Actions アプリケーションの代わりにタスクを実行した場合、そのGITHUB_TOKENによって生じたイベントは、新たなワークフローの実行を生じさせません。 これによって、予想外の再帰的なワークフローの実行が生じないようになります。 たとえば、ワークフローの実行によってリポジトリのGITHUB_TOKENを使ったコードのプッシュが行われた場合、そのリポジトリにpushイベントが生じた際に実行されるよう設定されたワークフローが含まれていても、新しいワークフローの実行は行われません。 詳しい情報については「GITHUB_TOKENでの認証」を参照してください。
ワークフローの実行からワークフローをトリガーしたい場合意は、個人アクセストークンを使ってイベントをトリガーできます。 個人アクセストークンを作成し、それをシークレットとして保存する必要があります。 GitHub Actionsの利用コストを最小化するために、再帰的あるいは意図しないワークフローの実行が生じないようにしてください。 For more information on storing a personal access token as a secret, see "Creating and storing encrypted secrets."

