🐙

GitHub ActionsをAPIのように呼び出す方法

に公開

この記事で伝えたいこと

GitHub Actions で、API のようにワークフローを呼び出すことができます。

以下のように curl コマンドでワークフローを実行できるイメージです:

curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.github.com/repos/OWNER/REPO/dispatches \
  -d '{"event_type": "deploy"}'

使用するイベント repository_dispatch

repository_dispatchイベントを使用することで、GitHub Actions を API のように呼び出すことが可能になります。

具体的な実装方法に関しては、公式 DOC が綺麗にまとまっているので以下を参照してください。

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

なぜ repository_dispatch が便利なのか?

GitHub Actions の多くのイベントは、

  • push されたとき
  • PR が作られたとき

…のように、GitHub で起きる出来事に依存しているイメージがあります。

repository_dispatchイベントを使用すると、GitHub Actions を「外部システムから動かせる」ようになります。

任意のタイミングで動かせるという点では workflow_dispatch も似ていますが、こちらは GitHub の UI から手動実行するためのイベントです。
一方 repository_dispatch は、API 経由で外部から自由にトリガーできる点が大きな違いです。

repository_dispatchはいたるところからワークフローを実行できます。
GitHub Actions で、工夫の幅が広がると思います。

  • ターミナルから
  • Web アプリ内のボタンから
  • 他のリポジトリのワークフローから

GitHub Actions の可能性を広げる repository_dispatch、ぜひ活用してみてください!

お知らせ

弊社ではカジュアル面談を実施しています。
少しでも興味を持っていただけた方は、ぜひ以下のリンクからご連絡ください!

https://x-point-1.net/

エックスポイントワン技術ブログ

Discussion