如何以编程方式检索Webhook的上次运行状态?

时间:2019-05-08 05:33:13

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

我有一个通过Azure DevOps“尝试合并请求请求” Webhook调用的服务。

我们的用户存储库可能设置了许多Webhooks。

我们当前正在将Microsoft.TeamFoundationServer.Client v16.147.0-preview与PAT结合使用,以与Azure DevOps进行通信以检索有关客户存储库的信息。

我希望在我们自己的UI中显示一些内容,以指示上一次Webhook调用的状态。

如何查看此状态?

在用户界面中,我使用了F12开发人员工具来查看以下内容:

  1. 使用https://{org}.visualstudio.com/_apis/hooks/subscriptionsQuery调用publisherId = "tfs"返回Webhook订阅列表。订阅对象没有明显的属性可用来识别哪个Webhook是我的服务的一部分。

  2. 一旦识别了Webhook订阅,请在正文中使用Webhook的订阅ID调用https://{orgId}.visualstudio.com/_apis/hooks/notificationsQuery,以获取此订阅的历史记录,包括一些有关历史记录状态的元数据。

  3. [可选以获取更多数据]给定此订阅的历史记录列表,找到最近执行的ID,然后调用https://{orgId}.visualstudio.com/_apis/hooks/subscriptions/{subscriptionId}/notifications/{historyId}获取有关该事件的完整数据。

有没有一种方法可以通过我们使用的具有明确定义类型的客户端库来调用此方法?

确定哪个subscriptionId代表对我们服务的订阅的最佳机制是什么(请注意-如果有帮助,我们可以要求客户在其配置中设置某些值,以便我们可以取消它)?

0 个答案:

没有答案