Webhook
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Webhook 提供了一种将事件的 JSON 表示形式发送到任何服务的方法。 只需要一个公共终结点(HTTP 或 HTTPS)即可。
有关这位使用者发布的 JSON 有效负载的详细信息,请参阅事件。
先决条件
只有组织所有者或项目集合管理员istrators 才能管理组织的 Webhook。
将 JSON 表示形式发送到服务
转到项目 服务挂钩 页:
https://{orgName}/{project_name}/_settings/serviceHooks
选择“创建订阅”。
选择并配置 Azure DevOps Services 事件:
配置事件发生时要执行的操作:
有关要发送的资源详细信息、要发送的消息和要发送设置的详细消息的信息,请参阅以下问答。
测试服务挂钩订阅并完成向导:
现在已设置 Webhook。 转到目标服务以查看 JSON 表示形式:
定价
Azure DevOps 不收取与外部服务集成的框架费用。 查看特定服务的网站,了解与其服务相关的定价。
问题解答
问:要发送的资源详细信息、要发送的消息以及要为其发送设置的详细消息是什么?
答:它们控制发送的 JSON 有效负载的大小。
用于 发送 设置的资源详细信息控制发送的资源量。 默认值为“全部”,但你也可以选择发送“最小”(仅发送 URL 和 ID 等键字段),或“无”。
在调用方实际上不需要太多资源(如果有)的情况下,“无 ”和 “最小值 ”非常有用,因为它依赖于消息或详细消息。 无和最小也可用于安全原因,例如,调用方需要回调 Azure DevOps Services,并经历正常的安全/权限检查以获取有关资源的更多详细信息。
示例 JSON:
{
"eventType": "git.push",
...
"messages": {
"text": "...",
"html": "...",
"markdown": "..."
},
"detailedMessage": {
"text": "...",
"html": "...",
"markdown": "..."
},
"resource": {
"id": "...",
"url": "https://...",
"name": "...",
"field1:": "..."
}
}
问:是否可以以编程方式创建订阅?
答:是的,请参阅此处的详细信息。
问:是否可以将 Webhook 发送到非 HTTPS 终结点?
答: 是的。 但是,建议仅对 Webhook 使用 HTTPS 终结点。 使用 HTTP 意味着可能会发送未加密的专用数据。 这包括 Webhook 中的任何身份验证标头。
问:设置不是 HTTPS 的 Webhook 时,是否可以使用基本身份验证?
答: 不是。 在 Webhook 上使用基本身份验证时,必须使用 HTTPS。
问:是否可以将 localhost 或特殊范围 IP 用作 Webhook 目标?
答:否。 Webhook 不能以 localhost(环回)或特殊范围 IPv4/IPv6 地址为目标。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈