第 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 步。
流程
生成用于自动化控制器 的个人访问令牌 (PAT):
- 在 GitHub 帐户的配置集设置中,选择 Settings。
- 在导航面板中,选择 <> 。
- 在 Developer Settings 页面中,选择 Personal access token。
- 在 个人访问令牌 屏幕中,单击 。
- 提示时,请输入您的 GitHub 帐户密码以继续。
- 在 Note 字段中,输入有关此 PAT 用途的简要描述。
- 在 Select scopes 字段中,选中 repo:status、repo_deployment 和 public_repo 旁边的框。自动化 Webhook 只需要存储库范围访问权限,但邀请除外。如需更多信息,请参阅 OAuth 应用文档的范围。
点
。重要生成令牌时,请确保复制 PAT,因为您在第 2 步中需要它。您无法在 GitHub 中再次访问此令牌。
使用 PAT 创建 GitHub 凭证(可选):
- 进入您的实例,并使用生成的令牌为 GitHub PAT 创建新凭证。
记录此凭据的名称,因为您在回发到 GitHub 的作业模板中使用它。
进入您要启用 webhook 的作业模板,然后选择 webhook 服务和您在上一步中创建的凭证。
- 点击 。您的作业模板已设置为回 GitHub。
- 进入您要配置 webhook 的 GitHub 存储库,然后选择 。
-
在导航面板中,选择
。 - 要完成 Add webhook 页面,您必须检查作业模板或工作流作业模板中的 Enable Webhook 选项。如需更多信息,请参阅创建 作业模板和 创建工作流模板 中的第 3 步。
完成以下字段:
- payload URL :从作业模板中复制 Webhook URL 的内容,并将它粘贴。结果从 GitHub 发送到此地址。
- 内容类型 :将其设置为 application/json。
- Secret :从作业模板中复制 Webhook 密钥的内容并将其粘贴到此处。
您要触发此 Webhook 的事件类型? :选择您要触发 Webhook 的事件类型。任何这样的事件都会触发作业或工作流。要让作业状态(pending, error, success)发送到 GitHub,您必须在 Let me select individual events 部分中选择 Pull requests 部分。
- Active :保留此检查。
- 点击 。
- 配置 webhook 时,它会显示在您的仓库活跃的 webhook 列表中,并能够编辑或删除它。单击 webhook,前往 Manage webhook 屏幕。
- 滚动以查看向 webhook 发出的发送尝试,以及它们是成功还是失败。
其他资源
如需更多信息,请参阅 Webhooks 文档。