🐡
Drupalのイベントをトリガーとして、GitHub Actionsを起動する
概要
Drupalのイベントをトリガーとして、GitHub Actionsを起動する方法の備忘録です。
以下のサイトが参考になりました。
pipedreamの設定
triggerとcustom_requestを含むワークフローを作成します。
triggerについては、以下を参考にしてください。
custom_requestにおいて、dispatchに関する設定を行います。
以下のような設定を行います。
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/OWNER/REPO/dispatches \
-d '{"event_type":"webhook"}'
Drupalの設定
以下のモジュールをインストールします。
インストール後、以下のページで設定を行います。
/admin/config/services/webhook
GitHub Actionsの設定
以下のようにrepository_dispatch
を設定します。これにより、pipedreamからのリクエストに基づき、GitHub Actionsが実行されます。
name: Build and Deploy to Production
on:
push:
branches:
- main
# Allows external webhook trigger
repository_dispatch:
types:
- webhook
permissions:
contents: read
concurrency:
group: "build-and-deploy"
cancel-in-progress: true
jobs:
...
まとめ
pipedreamを使用せずに、Drupalのカスタムモジュールを作成することにより、GitHubに通知を送る方法もありそうです。(すでにそのようなモジュールが開発されている可能性が高そうですが、見つけることができませんでした。)
参考になりましたら幸いです。
Discussion