获取TFS Webhook订阅状态

时间:2019-10-21 18:49:45

标签: azure tfs azure-devops azure-devops-rest-api

从我之前的问题link here看来,我们在任何版本的TFS / Azure DevOps中都没有功能来设置对Webhook订阅的监视。

作为一种解决方法,我现在正在寻找编写PowerShell脚本来检查订阅的心跳。从Microsoft文档link here看来,我们可以通过查询订阅ID来获取SubscriptionStatus。

在以下API的GET请求中,我收到了文档中指定的所有详细信息,但在响应中找不到“状态”。 有人知道是否还有其他方法可以获取SubscriptionStatus。

  

https://collectionurl/_apis/hooks/subscriptions/3d9af4ba-d642-4c80-8d62-34cabca322f9

2 个答案:

答案 0 :(得分:0)

尝试列出订阅内容:

GET https://collectionurl/_apis/hooks/subscriptions?api-version=5.1

您可以使用查询参数过滤结果,如下所示:

GET https://collectionurl/_apis/hooks/subscriptions?publisherId={publisherId}&eventType={eventType}&consumerId={consumerId}&consumerActionId={consumerActionId}&api-version=5.1

您应该在某处看到status

答案 1 :(得分:0)

我发现所讨论的API是正确的,但是由于某种原因我没有获得“启用”状态,因此我成功测试了here中提到的所有其他状态。

我现在将我的PowerShell设置为每5分钟执行一次,以检查webhook的状态,并发送电子邮件以获取除“已启用”以外的其他状态。

如果状态为“已启用”或“空”,则进一步检查consumerInputs.url以检查网络钩是否仍然存在。

这很好用。