У меня есть служба, к которой обращаются через веб-крючок DevOps Azure «Попытка слияния».
В репозиториях наших пользователей, вероятно, настроено несколько веб-крючков.
МыВ настоящее время используется Microsoft.TeamFoundationServer.Client v16.147.0-preview
с PAT для связи с DevOps Azure для получения информации о репозиториях наших клиентов.
Я надеюсь отобразить что-то в нашем собственном пользовательском интерфейсе, которое указывает на состояние последнего вызова webhook.
Как проверить этот статус?
В пользовательском интерфейсе я использовал инструменты разработчика F12, чтобы увидеть следующее:
Позвонить на https://{org}.visualstudio.com/_apis/hooks/subscriptionsQuery
with publisherId = "tfs"
возвращает список подписок на webhook.Объекты подписки не имеют явного свойства отключать, чтобы определить, какой веб-крючок является частью моего сервиса.
Как только подписка на веб-крючок определена, позвоните в https://{orgId}.visualstudio.com/_apis/hooks/notificationsQuery
с идентификатором подписки веб-крюка втело для получения истории этой подписки, включая некоторые метаданные о статусе истории.
[Необязательно для дополнительных данных] Учитывая список истории этой подписки, найдите идентификатор последнего выполненного.и позвоните https://{orgId}.visualstudio.com/_apis/hooks/subscriptions/{subscriptionId}/notifications/{historyId}
, чтобы получить полные данные о событии.
Есть ли способ вызвать это через используемую нами клиентскую библиотеку с четко определенными типами?
Каков наилучший механизм для определения того, какой subscriptionId
представляет подписку на наш сервис (обратите внимание - если это поможет, мы можем попросить клиента установить определенные значения в его конфигурации, чтобы мы могли отключить его)?