MS Flow - как задать условия, чтобы избежать дублирования запуска для создания задач для пользовательской истории
Я создал MS Flow для создания 9 заданий (задания Dev, Testing и BA) в качестве дочернего элемента для новой пользовательской истории, когда она назначена.
Он отлично работает, но дублируется каждый раз, когда история возвращается из Неназначенного на ресурс.
Я пытался получить количество связанных задач для пользовательской истории перед их созданием, но не смог найти никаких условий по умолчанию, чтобы получить это.
Есть ли какие-либо другие условия, которые нужно установить, чтобы избежать создания дублирующихся задач? Пожалуйста, помогите мне с этим потоком.
0 ответов
Решение для запроса на установку условия для проверки существующих рабочих элементов перед их созданием было предоставлено yashag2255 на форумах Power Automate:
Чтобы получить рабочие элементы, связанные с пользовательской историей, вам нужно будет отправить для этого HTTP-запрос. Но перед отправкой этого запроса -> Перейдите в Azure DevOps -> Запросы -> Мои запросы -> Создайте новый пустой запрос и сохраните его. (В этом примере скажем TestNew).
После этого в потоке под триггером создайте действие, как показано. Очень внимательно заполните все поля. (здесь yashTest - мой проект, замените его своим)
Body : { "name" : "TestNew", "queryType" : "tree", "wiql" : "SELECT [System.Id],[System.Title],[System.State] FROM workitemLinks WHERE([Source].[System.WorkItemType] = 'Task' AND [Source].[System.Id] = )AND ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward')AND ([Target].[System.WorkItemType] = 'Task')MODE (Recursive)" }
в "wiql" рядом с [System.Id] = выберите идентификатор рабочего элемента, полученного из действия триггера (исходный запрос триггера, который имеет идентификатор назначенного рабочего элемента)
Теперь создайте новую строковую переменную, чтобы получить идентификатор запроса, поместите следующее выражение в редактор выражений и добавьте его к строковому значению.
body('Send_an_HTTP_request_to_Azure_DevOps')['id']
Теперь добавьте еще одно действие: получить результаты запроса с идентификатором запроса на предыдущем шаге. Это даст вам список рабочих элементов, связанных с назначенным рабочим элементом. Вы можете тщательно выполнить итерацию, чтобы проверить, существуют ли элементы, а если нет, создать их с помощью действия "Создать рабочий элемент".