Webhook通知機能を使ったGitHub Actions連携では、
GitHub Actionsのrepository_dispatchを利用して、
APIの更新完了時にワークフローをトリガーすることができます。
デモサイト/サンプルリポジトリも用意しています。
・GitHub Pagesのデモサイト
・sssapi/example-webhook-github-nuxt3
設定の流れ
- Personal access tokensを用意する
- ワークフローファイルに
repository_dispatch
を追加する - APIの詳細画面でWebhookを追加する
1. Personal access tokensを用意する
SSSAPIから対象のリポジトリにアクセスするために、
Personal access tokensを作成します。
Settings / Developer settings / Personal access tokensに移動し、
Generate new token
ボタンから作成できます。
repo
にチェックを入れ、Generate token
ボタンを押して作成します。
トークンは作成時のみしか表示されないので、必ず保存しましょう。
repository_dispatch
を追加する
2. ワークフローファイルにrepository_dispatch
トリガーで実行できるよう、
ワークフローファイルにrepository_dispatch
を追加します。
SSSAPIでは、APIの更新が成功/警告/失敗のステータスごとに、
event-typeを用意しています。必要に応じて設定してください。
on:
push:
branches:
- main
# ADD
repository_dispatch:
types:
- sssapi-api-build-success # 成功時
- sssapi-api-build-warning # 警告時
# - sssapi-api-build-failure # 失敗時
行数の上限を超えた場合、ステータスが警告になります。
3. APIの詳細画面でWebhookを追加する
最後にAPIの詳細画面からWebhook機能を有効にします。
GitHub Actions
を選択するとダイアログが表示されるので、
対象リポジトリのURLと、上記で作成したPersonal access tokensを入力します。
これで、GitHub Actions連携の設定は完了です。
APIを更新するとトリガーされることを確認してください。
注意事項
repository_dispatch
でのトリガーは、デフォルトブランチのみ有効です。
デフォルト以外のブランチでは、ワークフローが実行されないことを注意してください。
・ワークフローをトリガーするイベント - GitHub Docs
デモサイト/サンプルリポジトリ
デモサイト/サンプルリポジトリも用意しています。
・GitHub Pagesのデモサイト
・sssapi/example-webhook-github-nuxt3