🪜

GitHub Actionsのissue_commentとpull_request_reviewのトリガーの挙動の違い

に公開

前提

issue_commentとは

issue_comment は、conversationタブで投稿されたコメントのこと。

ここから投稿できるコメントですね。

pull_request_reviewとは

pull_request_review は、PRに対してレビューなどで投稿することができるコメントのこと。

ここから投稿できるコメントですね。

GitHub Actionのトリガー

ワークフローに対して、何が起こった時に実行するかを決めることができるものです。

例えばこれだと、先ほどのPRに対してレビューコメントが投稿された瞬間をトリガーに起動します。

on:
  pull_request_review:
    types: [submitted]

今回は、そのトリガーの条件の違いを知らないと無駄に時間を費やしてしまうようなことを書きました。

実行トリガーの違い

まずは以下を見てください。

issue_comment

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

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

pull_request_review

https://docs.github.com/ja/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request_review

デフォルトでは、すべてのアクティビティタイプがこのイベントで実行されるワークフローをトリガーします。

つまり

issue_comment が動くのは、mainブランチなどのデフォルトブランチにある時だけです。

それに対して

pull_request_review が動くのは、どのワークフローでも動くのです。デフォルトから切ったブランチなどでもトリガーとして動作します。

これを知らないと動かないワークフローを必死に動かそうという無駄な時間が発生してしまいます。

僕はこれで1時間消えました。

番外編

pull_request_review_comment というのもあります。

こういったレビューでのインラインコメントのことです。

これについては

https://docs.github.com/ja/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request_review_comment

デフォルトでは、すべてのアクティビティタイプがこのイベントで実行されるワークフローをトリガーします。

とあり、pull_request_review と同じですね。

つまり、issue_comment だけmainに存在しないといけないものだということです。

非常に分かりずらいですねぇ。

Discussion