Как я могу программно получить статус последнего запуска webhook? - PullRequest
1 голос
/ 08 мая 2019

У меня есть служба, к которой обращаются через веб-крючок DevOps Azure «Попытка слияния».

В репозиториях наших пользователей, вероятно, настроено несколько веб-крючков.

МыВ настоящее время используется Microsoft.TeamFoundationServer.Client v16.147.0-preview с PAT для связи с DevOps Azure для получения информации о репозиториях наших клиентов.

Я надеюсь отобразить что-то в нашем собственном пользовательском интерфейсе, которое указывает на состояние последнего вызова webhook.

Как проверить этот статус?

В пользовательском интерфейсе я использовал инструменты разработчика F12, чтобы увидеть следующее:

  1. Позвонить на https://{org}.visualstudio.com/_apis/hooks/subscriptionsQuery with publisherId = "tfs" возвращает список подписок на webhook.Объекты подписки не имеют явного свойства отключать, чтобы определить, какой веб-крючок является частью моего сервиса.

  2. Как только подписка на веб-крючок определена, позвоните в https://{orgId}.visualstudio.com/_apis/hooks/notificationsQuery с идентификатором подписки веб-крюка втело для получения истории этой подписки, включая некоторые метаданные о статусе истории.

  3. [Необязательно для дополнительных данных] Учитывая список истории этой подписки, найдите идентификатор последнего выполненного.и позвоните https://{orgId}.visualstudio.com/_apis/hooks/subscriptions/{subscriptionId}/notifications/{historyId}, чтобы получить полные данные о событии.

Есть ли способ вызвать это через используемую нами клиентскую библиотеку с четко определенными типами?

Каков наилучший механизм для определения того, какой subscriptionId представляет подписку на наш сервис (обратите внимание - если это поможет, мы можем попросить клиента установить определенные значения в его конфигурации, чтобы мы могли отключить его)?

...