KDOC 147: GITHUB_TOKENを使ってgit pushするとトリガーされない

この文書のステータス

  • 作成
    • 2024-05-01 貴島
  • レビュー
    • 2024-05-06 貴島

概要

GitHub Actionsにおいて、 GITHUB_TOKEN はワークフローにデフォルト設定されるシークレットトークンである。これを使うといちいちトークンを登録しなくてよく、便利。しかしデフォルトだけあって権限は強くなく、書き込みがあるアクションをするとハマるポイントがある。

実行されない

GitHub Actions上でリポジトリにコミットをpushしたいときがあって、それで GITHUB_TOKEN を使ってpushした。pushはすぐできたのだが、それによるワークフローが発火しない。

↓これは、ちゃんと公式ドキュメントに記載があった。

リポジトリGITHUB_TOKENを使用してタスクを実行する場合、 GITHUB_TOKEN によってworkflow_dispatchトリガーされるイベント (例外) と repository_dispatch、 は新しいワークフロー実行を作成しません。 これによって、予想外の再帰的なワークフローの実行が生じないようになります。たとえば、ワークフロー実行でリポジトリの GITHUB_TOKEN を使用してコードがプッシュされた場合、push イベントの発生時に実行するように構成されたワークフローがリポジトリに含まれている場合でも、新しいワークフローは実行されません。 https://docs.github.com/ja/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow

簡単にできたら無限にコミットが実行されるので、それを防ぐためというわけ。

参考

関連

なし。

Backlinks