首页 > 解决方案 > Azure DevOps:如果出现任何故障,要运行的任务的自定义条件

问题描述

如果阶段中的任何内容失败,我想发送通知。如何在发布管道的任务中设置条件,以便在以前失败时运行任务?

标记的选项仅适用于直接前任。 在此处输入图像描述

但是考虑一种情况,有一个任务失败了,然后有一个任务将始终运行,之后如果有任何失败,我想运行的任务。

标签: azure-devopsazure-pipelines-release-pipeline

解决方案


这是一个旧线程,但如果有人面临同样的问题,我设法通过使用预定义的变量来实现“如果有任何失败”的条件[Agent.JobStatus]。它具有以下状态:

  1. 取消
  2. 失败的
  3. 成功
  4. SucceededWithIssues(部分成功)

有了上面的值,我设置了以下自定义条件:

eq(variables['Agent.JobStatus'], 'SucceededWithIssues')

如果您希望有多个自定义条件,可以使用如下逻辑运算符:

or(eq(variables['Agent.JobStatus'], 'Canceled'),eq(variables['Agent.JobStatus'], 'Failed'),eq(variables['Agent.JobStatus'], 'SucceededWithIssues'))

Azure Devops 自定义条件

结果

在此处输入图像描述

参考:https ://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#agent-variables


推荐阅读