如果阶段中的任何操作失败,我想发送通知。如何在Release管道的任务中设置条件,以便在以前发生任何故障时运行任务?
但是考虑到某个情况,有一个任务失败了,那么有一个任务将始终运行,并且在此之后就是如果任何事情失败我想运行的任务。
答案 0 :(得分:1)
这是一个旧线程,但是如果有人面临相同的问题,我设法通过使用预定义变量[Agent.JobStatus]
来达到“如果失败的条件”。它具有以下状态:
具有上述值时,我设置了以下自定义条件:
eq(variables['Agent.JobStatus'], 'SucceededWithIssues')
如果希望有多个自定义条件,则可以按如下方式使用逻辑运算符:
or(eq(variables['Agent.JobStatus'], 'Canceled'),eq(variables['Agent.JobStatus'], 'Failed'),eq(variables['Agent.JobStatus'], 'SucceededWithIssues'))
结果:
答案 1 :(得分:0)
我认为您需要使用自定义条件并将其设置为failed()
引用:
不带参数的情况下,仅当 依赖图失败。
答案 2 :(得分:0)
如另一个答案中所述,您需要使用自定义条件并将其设置为failed()
。但是,仅凭这一点并不能解决问题。我相信您可以通过在其Notification
字段中列出dependsOn
作业之前正在运行的所有先前作业,来实现所需的目标。这样,如果列出的任何作业失败,您的Notification
作业将被执行。
jobs:
- job: Build
(...)
- job: CleanUp
(...)
- job: Notification
dependsOn:
- Build
- Cleanup
condition: failed()
steps:
- task: (...)