Header image

クラッソーネの開発者がエンジニアリングに関することもそうでないことも綴っています!

issue_commentをトリガーにワークフローを実行するときにハマった話

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を利用します。
https://docs.github.com/ja/actions/using-workflows/events-that-trigger-workflows#pull_request_comment-issue_comment-を使用

github.event.issue.pull_requestの値を利用して、pull requestのコメントかissueのコメントかを判定しています。

原因

ワークフローをトリガーするイベントがissue_commentのワークフローファイルが、デフォルトブランチに存在しないことが原因でした。

解決

一縷の望みにすがってTwitterを検索したところ、神速さんのツイートを見つけ、助けられました。大変感謝しています!
https://twitter.com/sinsoku_listy/status/1346015985396957185?s=20&t=Zl9wrMpAPTayk69DqXRLNw

こんな大事な情報、公式のドキュメントに書いてないはずが....








































書いてある!!!!!!!!

注: このイベントは、ワークフローファイルがデフォルト ブランチにある場合にのみワークフローの実行をトリガーします。

https://docs.github.com/ja/actions/using-workflows/events-that-trigger-workflows#issue_comment

はい。僕が完全に見逃していました。
猛省ですね。

おわりに

デフォルトブランチにワークフローファイルをマージし、動作確認用のpull requestにコメントしてみたところ、無事ワークフローが動きました🙌

クラッソーネでは、プロダクトとチームの双方をより良く改善していけるエンジニアを募集中です!
ご興味ある方はぜひ採用サイトをご覧ください!

https://www.crassone.co.jp/recruit/engineer/


RubyやTerraformが好きで、メンバーが楽になる仕組みを考えるのが好きなエンジニア