Веб-хуки Azure DevOps (сервисные хуки), отсутствующие поля, такие как описание или этапы воспроизведения

#azure-devops #devops #webhooks #asp.net-core-5.0

#azure-devops #devops #веб-хуки #asp.net-core-5.0

Вопрос:

Я работаю над ASP.NET Проект Core 5, который будет использовать подписку на перехваты служб Azure DevOps моей организации (Webhooks). Я проанализирую данные полезной нагрузки события (и метаданные).

Я проверил, какие полезные нагрузки событий содержатся здесь: https://docs.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops#workitem.updated

А также скачал этот пакет NuGet: https://www.nuget.org/packages/Microsoft .AspNet.Веб-хуки.Receivers.vsts

Но есть проблема. Я не могу найти (в документах, а также в пакете NuGet) Поле «Описание» рабочего элемента или поля «Этапы воспроизведения» ошибки. Эти два поля являются наиболее важными полями из полезной нагрузки для моего проекта.

Эти поля где-то скрыты? Или можно включить эти поля в полезную нагрузку?

Ответ №1:

После запроса типов рабочих элементов Список полей rest api, который использовался для получения списка полей для типа рабочего элемента с подробными ссылками.

  {
      "alwaysRequired": false,
      "defaultValue": null,
      "allowedValues": [],
      "dependentFields": [],
      "referenceName": "System.Description",
      "name": "Description",
      "url": "https://dev.azure.com/fabrikam/_apis/wit/fields/System.Description"
    },
 

referenceName поля описания должно быть System.Description .

Как вы указали, кажется, это не включено в полезную нагрузку события webhook.

Возможно, вам придется использовать Rest API рабочего элемента для запроса соответствующей информации.

Комментарии:

1. Хорошо, я понимаю, что это не может быть так просто. Поэтому я не могу использовать веб-хуки, и мне нужно использовать Rest API для извлечения этих полей. Это немного сложно, потому что я думаю, что мне нужно будет включить некоторые значения для безопасности (я думаю, oauth2?). Пожалуйста, какие значения я должен запросить у владельца моей организации для авторизации запросов и как их авторизовать? Как получить значения полей конкретного рабочего элемента с помощью руководства по предоставленной вами ссылке? Разве мне не нужно было это ?

2. @Anakkiin Да, это тот Rest API. Службы Azure DevOps используют протокол OAuth 2.0 для авторизации вашего приложения для пользователя и создания токена доступа. Используйте этот токен при вызове API-интерфейсов REST из вашего приложения. Для получения более подробной информации вы можете обратиться по этой ссылке: docs.microsoft.com/en-us/azure/devops/integrate/get-started /… . Просто токен доступа, убедитесь, что у этого токена есть разрешение на рабочие элементы.