第 26 章 使用 Webhook


Webhook 可让您通过 Web 在应用程序间执行指定的命令。自动化控制器目前提供 webhook 与 GitHub 和 GitLab 的集成。

使用以下服务设置 webhook:

webhook 的 GitHub 和 GitLab 的 post-status-back 功能旨在仅在某些 CI 事件下工作。在服务日志中接收其他类型的事件会导致信息类似如下:

awx.main.models.mixins Webhook 事件没有关联状态 API 端点并跳过。

26.1. 设置 GitHub Webhook

自动化控制器可根据触发的 webhook 事件运行作业。作业状态信息(待定、错误、成功)只能针对拉取请求事件发回。如果您不需要自动化控制器将作业状态回 webhook 服务,请直接转至第 3 步。

流程

  1. 生成用于自动化控制器 的个人访问令牌 (PAT):

    1. 在 GitHub 帐户的配置集设置中,选择 Settings
    2. 在导航面板中,选择 <&gt ; Developer Settings
    3. Developer Settings 页面中,选择 Personal access token
    4. 个人访问令牌 屏幕中,单击 Generate a personal access token
    5. 提示时,请输入您的 GitHub 帐户密码以继续。
    6. Note 字段中,输入有关此 PAT 用途的简要描述。
    7. Select scopes 字段中,选中 repo:statusrepo_deploymentpublic_repo 旁边的框。自动化 Webhook 只需要存储库范围访问权限,但邀请除外。如需更多信息,请参阅 OAuth 应用文档的范围
    8. Generate token

      重要

      生成令牌时,请确保复制 PAT,因为您在第 2 步中需要它。您无法在 GitHub 中再次访问此令牌。

  2. 使用 PAT 创建 GitHub 凭证(可选):

    1. 进入您的实例,并使用生成的令牌为 GitHub PAT 创建新凭证
    2. 记录此凭据的名称,因为您在回发到 GitHub 的作业模板中使用它。

    3. 进入您要启用 webhook 的作业模板,然后选择 webhook 服务和您在上一步中创建的凭证。

    4. 点击 Save。您的作业模板已设置为回 GitHub。
  3. 进入您要配置 webhook 的 GitHub 存储库,然后选择 Settings
  4. 在导航面板中,选择 Webhooks Add webhook
  5. 要完成 Add webhook 页面,您必须检查作业模板或工作流作业模板中的 Enable Webhook 选项。如需更多信息,请参阅创建 作业模板和 创建工作流模板 中的第 3 步。
  6. 完成以下字段:

    • payload URL :从作业模板中复制 Webhook URL 的内容,并将它粘贴。结果从 GitHub 发送到此地址。
    • 内容类型 :将其设置为 application/json
    • Secret :从作业模板中复制 Webhook 密钥的内容并将其粘贴到此处。
    • 您要触发此 Webhook 的事件类型? :选择您要触发 Webhook 的事件类型。任何这样的事件都会触发作业或工作流。要让作业状态(pending, error, success)发送到 GitHub,您必须在 Let me select individual events 部分中选择 Pull requests 部分。

    • Active :保留此检查。
  7. 点击 Add webhook
  8. 配置 webhook 时,它会显示在您的仓库活跃的 webhook 列表中,并能够编辑或删除它。单击 webhook,前往 Manage webhook 屏幕。
  9. 滚动以查看向 webhook 发出的发送尝试,以及它们是成功还是失败。

其他资源

如需更多信息,请参阅 Webhooks 文档

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat