issue_commentをトリガーにワークフローを実行するときにハマった話
こんにちは!
SREチームの宮原(@TakashiMiyahara)です🙋
本日は、GitHub Actionsのワークフローのトリガーとして、issue_comment
を利用したときにハマった話をしたいと思います。
きっかけ
pull requestに「deploy-qa」などのコメントを行った時に、GitHub Actionsのワークフローを実行させ、検証環境の構築を行っていました。
(pull request単位の検証環境を構築するお話は、また別の記事で😁)
この時に何度コメントを行ってもワークフローが動かず、半日近い時間を溶かしました💦
サンプルコード
pull requestで、コメントを行った時にPRの番号をechoで出力するワークフローです。
on: issue_comment
jobs:
pr_commented:
name: PR comment
if: ${{ github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- run: |
echo A comment on PR "$NUMBER"
env:
NUMBER: ${{ github.event.issue.number }}
pull requestのコメントが作成、編集、または削除されたときにワークフローを実行する場合は、issue_comment
を利用します。
github.event.issue.pull_request
の値を利用して、pull requestのコメントかissueのコメントかを判定しています。
原因
ワークフローをトリガーするイベントがissue_comment
のワークフローファイルが、デフォルトブランチに存在しないことが原因でした。
解決
一縷の望みにすがってTwitterを検索したところ、神速さんのツイートを見つけ、助けられました。大変感謝しています!
こんな大事な情報、公式のドキュメントに書いてないはずが....
書いてある!!!!!!!!
注: このイベントは、ワークフローファイルがデフォルト ブランチにある場合にのみワークフローの実行をトリガーします。
はい。僕が完全に見逃していました。
猛省ですね。
おわりに
デフォルトブランチにワークフローファイルをマージし、動作確認用のpull requestにコメントしてみたところ、無事ワークフローが動きました🙌
クラッソーネでは、プロダクトとチームの双方をより良く改善していけるエンジニアを募集中です!
ご興味ある方はぜひ採用サイトをご覧ください!