Когда пользователь отклоняет вмешательство, статус деблокирования становится «Неудачным».
Я подумал, как обойти эту проблему:
1) Пользователь всегда «возобновляет» вмешательство, но «комментарии» будут другими.
2) После этого,перед регрессионным тестом добавьте задачу PowerShell для проверки предыдущего комментария и установите новую переменную со значением «true», если комментарии являются своего рода «запустите тесты».
3) В наборе задач регрессионных тестовпользовательское условие для запуска, только если новая переменная равна «true».
Например, если утверждение возобновит вмешательство с помощью «Выполнить тесты», будут выполнены тесты регрессии.поэтому вам нужен сценарий PowerShell, который проверяет, что написано в утверждении, если текст утверждения «Выполнить тесты», мы устанавливаем новую переменную runTest
= true
:
$url = $(System.TeamFoundationServerUri)$(System.TeamProject)/_apis/Release/releases/$(Release.ReleaseId)/manualinterventions?api-version=5.0
$header = @{ Authorization = "Bearer $env:System_AcessToken" }
$release = Invoke-RestMethod -Uri $url -Method Get -ContentType application/json -Headers $header
$comment = $release.value.comments
if($comment -eq "Run Tests")
{
Write-Host "##vso[task.setvariable variable=runTest]true"
}
![enter image description here](https://i.stack.imgur.com/N57cw.png)
Затем в задаче «Регрессионные тесты» необходимо настроить пользовательское условие для запуска, только если переменная runTest
равна true
:
and(succeeded(), eq(variables['runTests'], 'true'))
![enter image description here](https://i.stack.imgur.com/K9VV2.png)
Теперь, если в утверждении написано «Выполнить тесты», тесты будут выполнены:
![enter image description here](https://i.stack.imgur.com/t91zb.png)
Если нет, тотесты будут пропущены, но выпуск будет «успешным»:
![enter image description here](https://i.stack.imgur.com/8JwAK.jpg)
Примечание: для сценария PowerShell вам необходимо разрешить сценариям доступ к токену OAuth(установите флажок в параметрах задания агента):
![enter image description here](https://i.stack.imgur.com/NxlfG.png)