所以请帮助我 在自定义条件下我必须写什么?
我在屏幕下方附上了我需要添加一些自定义条件的地方。
答案 0 :(得分:1)
我需要添加自定义条件,以便仅在先前的任务成功时才执行。
直接有一个选项 Only when all previous tasks have succeeded
,该选项用于确定所有以前的任务是否成功。
如果您要给出仅在上一个任务成功的情况下的条件,则没有这样的现成选项可供使用。我们可以使用拿破仑回答的解决方法:
write the result of the previous task to a variable and then check that variable in your condition
此外,我发布了此答案以强调条件的选择,我们需要使用 always()
而不是succeeded()
或{{1} }。那是因为条件的语法适用于所有先前的步骤/工作:
查看文档Conditions,了解更多详细信息。
例如:
我在管道中添加了三个任务:
运行内联Powershell-创建一个变量,为其分配一个值。
failed()
命令行自定义条件检查该变量。
Write-Host "##vso[task.setvariable variable=TaskStatus;]Succeeded"
如果我们使用条件and(always(), eq(variables['TaskStatus'], 'Succeeded'))
或succeeded()
,则其执行是否仍受所有先前任务执行结果(第一个命令行任务)的影响
希望这会有所帮助。
答案 1 :(得分:0)
您可以将上一个任务的结果写入变量,然后根据情况检查该变量。
答案 2 :(得分:0)
我发现一些可以满足我的愿望任务的自定义条件。
in(variables ['Agent.JobStatus'],'Failed','Succeeded','SucceededWithIssues')
在上述自定义条件下,确定上一个任务将“失败”还是“成功”,将执行下一个任务。