vNext TFS 2015 Builds - удаляет из набора изменений ассоциации изменений и рабочих элементов, а затем повторно добавляет их

Целевая среда: обновление 3 TFS 2015

Мы пытаемся получить систему сборки vNext, которая позволит нам связывать наборы изменений и рабочие элементы со сборкой только после ее развертывания с помощью Release Management. Однако система сборки TFS vNext автоматически связывает эти элементы со сборками во время сборки (на основе последней успешной сборки). В старой системе сборки XAML было свойство для ее отключения, называемое SkipGetChangesetsAndUpdateWorkItems, но оно больше не существует в новой системе.

Поэтому мне нужно добавить задачу / сценарий в конце процесса сборки vNext, чтобы удалить эти ассоциации (а затем добавить аналогичную задачу в Release Management, чтобы повторно связать их). Это не самая простая задача в мире, но кажется, что что-то должно быть осуществимо через TFS REST API.

Однако я не могу на всю жизнь выяснить, как эти ассоциации формируются. В JSON для наборов изменений, похоже, не упоминается связанная сборка, а в JSON для сборки, похоже, не упоминается список связанных наборов изменений.

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

1 ответ

Решение

Нет такого API отдыха, который мог бы добиться этого при удалении изменений. В сборке XAML соответствующая информация хранится в таблице SQL, которая называется dto.tbl_BuildDefinition, для которого вы хотите повторно связать наборы изменений и изменить значения в LastBuildUri, LastGoodBuildUri а также LastGoodBuildLabel, Подробности смотрите по этой ссылке: Пересвязать наборы изменений и рабочие элементы со сборкой. Для определения сборки vNext я не нашел ничего похожего в SQL. Однако должно быть где-то хранится ассоциация.

Для связи между work item и build есть метод, который называется $WorkItemAssociatedURL такие как

$WorkItemAssociatedURL = $collectionURL + $project + “/_apis/build/builds/” + $BuildId + “/workitems?api-version=2.0”

$ResponseJSON = Invoke-RestMethod -Uri $WorkItemAssociatedURL -ContentType “application/json” -headers $headers -Method GET

Для более подробной информации вы можете обратиться к этому блогу: Создайте ассоциацию с рабочими элементами в vNext

Другие вопросы по тегам