Почему azure-api не показывает рабочие элементы, связанные со сборкой?

#azure #azure-devops #azure-rest-api

#azure #azure-devops #azure-rest-api

Вопрос:

Мы создаем и запускаем сборку, в которой есть связанные изменения и связанные рабочие элементы. Но если мы попытаемся получить связанные элементы из api, у нас будет 0 элементов ответа. Для некоторых сборок это работает, но для других — нет.

Какие соединения устанавливаются между сборкой и workitem при запуске сборки? Как мы можем получить список связанных рабочих элементов, которые мы видим в сводке сборки? p.s. URL-адрес запроса на 100% правильный, потому что иногда у нас есть правильный ответ, но тогда у нас возникает проблема при изменении build_id .

Мы попытались определить точное поведение на основе идентификатора сборки и номера сборки, но нам это не удалось.

Пример: создайте рабочий элемент, исправьте его в ветке, объедините ветку с master, выпустите сборку.

К сборке прикреплен рабочий элемент, который отображается при запросе через API. Мы удаляем выпущенную сборку, снова выпускаем сборку, затем рабочий элемент теряется, и он не привязан ни к какой другой сборке (поскольку первая была удалена).

Нечто подобное происходит без удаления сборки, но мы просто не можем получить рабочий элемент.

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

1. в чем ваш вопрос, можете ли вы сосредоточиться на вопросе, а не на истории!

2. Привет, я поделился ответом ниже, вы можете проверить его, если у вас есть какие-либо опасения, не стесняйтесь поделиться им здесь. Если ответ может помочь, не могли бы вы принять его в качестве ответа ? Таким образом, это может помочь другим членам сообщества, у которых возникают те же проблемы, и мы могли бы заархивировать эту тему. Спасибо. Хорошего дня. 🙂

Ответ №1:

Какие соединения устанавливаются между сборкой и workitem при запуске сборки? Как мы можем получить список связанных рабочих элементов, которые мы видим в сводке сборки?

Мы могли бы использовать приведенный ниже REST API для перечисления рабочих элементов, связанных со сборкой.

 GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/workitems?api-version=6.0
 

И шаги:

Нам нужно открыть определение сборки -> Перейдите на вкладку Триггеры и включите функцию Enable continuous integration , затем перейдите на вкладку Параметры и включите функцию Automatically link new work in this build

введите описание изображения здесь

Нажмите фиксацию и добавьте связанные рабочие элементы, тогда мы могли бы увидеть эти рабочие элементы на странице сводки сборки.

введите описание изображения здесь

К сборке прикреплен рабочий элемент, который отображается при запросе через API. Мы удаляем выпущенную сборку, снова выпускаем сборку

Шаги: создать ветку -> нажать фиксацию и добавить рабочий элемент -> создать запрос на извлечение и запустить сборку, сборка должна запускаться с помощью CI или триггера запроса на извлечение, затем проверьте связанный со сборкой рабочий элемент -> удалите эту сборку и повторно запустите эту сборку вручную, затем снова проверьте связанный рабочий элементв результате не удается увидеть связанный рабочий элемент в новой сборке, верно?

Это специально разработано, если мы запустим сборку вручную, мы могли бы добавить эту ссылку на вкладку ссылки на рабочий элемент, и мы не смогли бы увидеть рабочий элемент на странице сводки, но мы могли бы перечислить рабочий элемент через API, общий ранее. Пожалуйста, проверьте рисунок ниже.

введите описание изображения здесь