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']

Теперь добавьте еще одно действие: получить результаты запроса с идентификатором запроса на предыдущем шаге. Это даст вам список рабочих элементов, связанных с назначенным рабочим элементом. Вы можете тщательно выполнить итерацию, чтобы проверить, существуют ли элементы, а если нет, создать их с помощью действия "Создать рабочий элемент".

Источник: https://powerusers.microsoft.com/t5/Building-Flows/How-to-set-conditions-to-avoid-duplicate-Tasks-creation-for-a/td-p/289629

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