第 11 章 配置 Red Hat Developer Hub 事件模块
将 Events 模块与调度的更新一起使用,以确保当外部系统中发生更改时,您的 GitHub 用户或目录实体都会更新。这是一个开发者技术预览功能。
Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能在红帽产品产品中包括早期对功能的访问。客户可以使用这些功能在开发过程中测试并提供反馈。开发人员预览功能可能没有任何文档,可以随时更改或删除,并且已获得有限的测试。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
有关红帽开发人员预览功能的支持范围的更多信息,请参阅 开发人员预览支持范围。
11.1. 为 GitHub 配置事件模块 复制链接链接已复制到粘贴板!
了解如何配置 Events 模块以用于 RHDH GitHub 发现功能和 GitHub 组织数据。这是一个开发者技术预览功能。
Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能在红帽产品产品中包括早期对功能的访问。客户可以使用这些功能在开发过程中测试并提供反馈。开发人员预览功能可能没有任何文档,可以随时更改或删除,并且已获得有限的测试。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
有关红帽开发人员预览功能的支持范围的更多信息,请参阅 开发人员预览支持范围。
先决条件
-
您已在
app-config.yaml文件中添加了 GitHub 集成凭证。 -
您已在
app-config.yaml文件中定义了schedule.frequency,以更长的时间(如 24 小时)定义。 - 仅限 GitHub 发现:您启用了 GitHub Discovery。
- 仅限 GitHub 机构数据:您使用 ingestion 启用 Github 身份验证。
流程
在
dynamic-plugins.yaml配置文件中添加 GitHub Events 模块,如下所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要创建 HTTP 端点以接收
github的事件,请将以下内容添加到app-config.yaml文件中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要通过添加 webhook secret 令牌 来验证 webhook 发送,保护您的工作流。
使用以下 规格创建 GitHub Webhook :
- 对于 Github Discovery Events :push, repository
- 对于 Github 机构数据事件 :机构、团队和成员资格
- 内容类型: application/json
payload URL:
https://<my_developer_hub_domain> /api/events/http/github注意有效负载 URL 是配置 HTTP 端点后公开的 URL。
验证
检查条目的日志,以确认 http 端点设置成功,以从 GitHub webhook 接收事件。
- 成功设置 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"}{"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"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
仅限 GitHub 发现:
通过在您设置 Webhook 的仓库中添加、修改或删除
catalog-info.yaml文件来触发 GitHub push 事件。此事件的记录应该会显示在 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"}{"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"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 带有对
只适用于 GitHub 机构数据:
- 新添加的用户和团队会出现在 RHDH 目录中。