第 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 身份验证

流程

  1. dynamic-plugins.yaml 配置文件中添加 GitHub Events 模块,如下所示:

    data:
    dynamic-plugins.yaml: |
    includes:
    - dynamic-plugins.default.yaml
    plugins:
    - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-events-backend-module-github:bs_1.42.5__0.4.3!backstage-plugin-events-backend-module-github
    disabled: false
    Copy to Clipboard Toggle word wrap
  2. 要创建 HTTP 端点以接收 github 的事件,请将以下内容添加到 app-config.yaml 文件中:

    events:
      http:
       topics:
        - github
      modules:
        github:
          webhookSecret: ${GITHUB_WEBHOOK_SECRET}
    Copy to Clipboard Toggle word wrap
    重要

    通过添加 webhook secret 令牌 来验证 webhook 发送,保护您的工作流。

  3. 使用以下 规格创建 GitHub Webhook

    • 对于 Github Discovery Events :push, repository
    • 对于 Github 机构数据事件 :机构、团队和成员资格
    • 内容类型: application/json
    • payload URL:https://<my_developer_hub_domain&gt; /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"}
    Copy to Clipboard Toggle word wrap
  • 仅限 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"}
      Copy to Clipboard Toggle word wrap
  • 只适用于 GitHub 机构数据:

    • 新添加的用户和团队会出现在 RHDH 目录中。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat