GitHub Actions連携

Webhook通知機能を使ったGitHub Actions連携では、
GitHub Actionsのrepository_dispatchを利用して、
APIの更新完了時にワークフローをトリガーすることができます。

デモサイト/サンプルリポジトリも用意しています。
GitHub Pagesのデモサイト
sssapi/example-webhook-github-nuxt3

設定の流れ

  1. Personal access tokensを用意する
  2. ワークフローファイルにrepository_dispatchを追加する
  3. APIの詳細画面でWebhookを追加する

1. Personal access tokensを用意する

SSSAPIから対象のリポジトリにアクセスするために、
Personal access tokensを作成します。

Settings / Developer settings / Personal access tokensに移動し、
Generate new tokenボタンから作成できます。

Permissons

repoにチェックを入れ、Generate tokenボタンを押して作成します。

Generate token

トークンは作成時のみしか表示されないので、必ず保存しましょう。

2. ワークフローファイルにrepository_dispatchを追加する

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機能を有効にします。

Add Webhook

GitHub Actionsを選択するとダイアログが表示されるので、
対象リポジトリのURLと、上記で作成したPersonal access tokensを入力します。

Setup Webhook

これで、GitHub Actions連携の設定は完了です。

APIを更新するとトリガーされることを確認してください。

Setup Webhook

注意事項

repository_dispatchでのトリガーは、デフォルトブランチのみ有効です。

デフォルト以外のブランチでは、ワークフローが実行されないことを注意してください。

ワークフローをトリガーするイベント - GitHub Docs

デモサイト/サンプルリポジトリ

デモサイト/サンプルリポジトリも用意しています。
GitHub Pagesのデモサイト
sssapi/example-webhook-github-nuxt3