メインコンテンツへスキップ

GitHub Actions workflowがworkflow_disptchによって実行されたかどうかを判定する

TL;DR
#

github.event_name == 'workflow_dispatch' ```

## workflow_dispatchとは?

GitHub Actionsのworkflow_dispatchを使うと、定義したWorkflowを手動で実行できます。

詳細は公式ドキュメントを読んでみてください。

[docs.github.com](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow)

## GitHub Actions workflowがworkflow_disptchによって実行されたかどうかを判定する

あんまりない例かもしれませんが、 Workflowがworkflow_disptchによって実行されたかどうかを判定したいケースがありました。ざっくり前提はこんなかんじでした:

- releaseブランチからのPRに対して、特定の文字列でreviewコメントを行うことでtagを作成しpushさせる仕組みはすでにある

- 上記をworkflow_dispatchでも実行したい

- workflow_dispatch経由の場合は「releaseブランチどうか」判定をスキップしてtagを打ちたい

どうやったら判定できるのかなと思い、調べてみた次第です。

冒頭にも記載していましたが、以下のように記述することでworkflow_dispatch経由での実行かどうかを判定できます:

github.event_name == ‘workflow_dispatch’ ```

おまけ
#

ymlファイルで複数条件の判定を行いたかったため、そのような記述はどうしたら良いのだろう?と思って調べてみました。 2021/04/11時点、公式ドキュメントには記載ないが、以下のように記述することで、複数行の条件指定が行えます:

if : |
    condition1
    condition2
    condition3```

[How to write multi-line condition in if - #2 by brightran - GitHub Actions - GitHub Support Community](https://github.community/t/how-to-write-multi-line-condition-in-if/128477/2)