第11章 Red Hat Developer Hub Events Module の設定
Events Module と定期的な更新を組み合わせて使用し、外部システムに変更が発生したときに GitHub ユーザーまたはカタログエンティティーが更新されるようにします。
これは、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
11.1. GitHub の Events Module の設定 リンクのコピーリンクがクリップボードにコピーされました!
RHDH GitHub Discovery 機能および GitHub 組織データで使用するために Events Module を設定する方法を説明します。
前提条件
-
app-config.yamlファイルに GitHub 統合認証情報が追加されている。 -
app-config.yamlファイル内のschedule.frequencyが、24 時間などの長めの期間に設定されている。 - GitHub Discovery のみ: GitHub Discovery を 有効にしました。
- GitHub 組織データのみ: ユーザー取り込みによる GitHub 認証を 有効にしました。
手順
次のように、GitHub の Events Module を
dynamic-plugins.yaml設定ファイルに追加します。data: dynamic-plugins.yaml: | includes: - dynamic-plugins.default.yaml plugins: - package: oci://registry.access.redhat.com/rhdh/backstage-plugin-events-backend-module-github@sha256:2c1ccc4fb01883dc4da1aa0c417d6e28d944c6ce941454ee41698f2c1812035c disabled: falsegithubのイベントを受信するための HTTP エンドポイントを作成するために、app-config.yamlファイルに次のコードを追加します。events: http: topics: - github modules: github: webhookSecret: ${GITHUB_WEBHOOK_SECRET}重要Webhook の配信を検証 するための Webhook シークレットトークンを追加して、ワークフローを保護してください。
次の仕様で GitHub Webhook を作成します。
- Github Discovery Events の場合: プッシュ、リポジトリー
- Github Organizational Data Events の場合: 組織、チーム、メンバーシップ
- Content Type: application/json
Payload URL:
https://<my_developer_hub_domain>/api/events/http/github注記Payload URL は、HTTP エンドポイントを設定した後に公開される URL です。
検証
ログをチェックして、GitHub Webhook からイベントを受信するための http エンドポイントが正常に設定されたことを確認するエントリーを探します。
- 正常に設定された HTTP エンドポイントのログの例
{"level":"\u001b[32minfo\u001b[39m","message":"Registered /api/events/http/github to receive events","plugin":"events","service":"backstage","timestamp":"2025-11-03 02:19:12"}
GitHub Discovery のみ:
Webhook を設定したリポジトリー内の
catalog-info.yamlファイルを追加、変更、または削除して、GitHub プッシュイベントをトリガーします。このイベントのレコードが、RHDH インスタンスの Pod ログに表示されるはずです。catalog-info.yamlファイルの変更を含むログの例{"level":"\u001b[32minfo\u001b[39m","message":"Processed Github push event: added 0 - removed 0 - modified 1","plugin":"catalog","service":"backstage","span_id":"47534b96c4afc654","target":"github-provider:providerId","timestamp":"2025-06-15 21:33:14","trace_flags":"01","trace_id":"ecc782deb86aed2027da0ae6b1999e5c"}
GitHub 組織データのみ:
- 新しく追加したユーザーとチームが RHDH カタログに表示されます。