Пользовательские условия сборки TFS для запуска задачи - проверьте, не прошла ли конкретная предыдущая задача - PullRequest
0 голосов
/ 15 мая 2018

Сборка TFS позволяет указать условия для запуска задачи: ссылка .

Условие, которое я хотел бы определить, заключается в следующем: конкретная задача [с указанием имени или другого значения] не выполнена.

Это похоже на Only when a previous task has failed, но я хочу указать, какая предыдущая задача это.

Глядя на примеры, я не вижу ни одного условия, связанного с конкретным результатом задачи., только весь статус сборки.

Возможно ли это?любой обходной путь для достижения этой цели?

1 Ответ

0 голосов
/ 15 мая 2018

Не похоже, что есть готовое решение для этого требования, но я могу придумать (уродливый :)) обходной путь.

Предположим, что ваше конкретное задание (которое вы проверяете в отношении его статуса) называется A.Цель состоит в том, чтобы вызвать другую задачу сборки (скажем, B) только в случае сбоя A.

Вы можете сделать следующее:

  • Определить пользовательскую переменную сборки , вызвать ее task.A.status и установить success
  • Создайте еще одну задачу сборки, например, C и запланируйте ее сразу после A;заставьте его работать только в случае сбоя A - для этого есть стандартное условие
  • Задача C должна делать только одно - установить task.A.status переменную сборки на 'fail' (например, если мыPowerShell: Write-Host "##vso[task.setvariable variable=task.A.status]failure")
  • Наконец, задача B запланирована через некоторое время после C, а обусловлен для запуска в случае, если task.A.status равно failure, какэто: eq(variables['task.A.status'], 'failure')

Я мог бы быть неверным в деталях синтаксиса, но вы должны получить общее представление.Надеюсь, это поможет.

...