特定のラベルが付いたプルリクエストがマージされたときにGitHub Actions を実行する方法を調べたのでまとめます。
最終設定ファイル
name: RunLabel on: pull_request: types: [closed] jobs: RunLabel: runs-on: ubuntu-latest if: (github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'runAction')) steps: - run: echo "Hello World!"
プルリクエストのマージをトリガーにする
プルリクエストがマージされたときを表すイベントはありません。closed
とgithub.event.pull_request.merged == true
を組み合わせてマージと判断します。
特定のラベルのときに実行する
contains
関数を使うと特定のラベルかどうか判断できます。最終設定ファイルの
contains(github.event.pull_request.labels.*.name, 'runAction')
の部分です。この設定では、runActionというラベルの付いたプルリクエストのときにTrueが返ります。
https://docs.github.com/ja/enterprise-cloud@latest/actions/learn-github-actions/expressions#contains
まとめ
特定のラベルが付いたプルリクエストがマージされたときにGitHub Actions を実行する方法をまとめました。調査に使ったリポジトリはこちらです。
github.com