当并行阶段仍在运行时任务失败时,Azure Devops可以发送邮件吗?

时间:2020-01-24 17:37:06

标签: azure-devops

就像这样,我有一个相当广泛的YAML多阶段管道。在某些情况下,并行任务可能会失败,但是仍然需要数小时才能使构建失败并得到通知。一个任务可能不会否定整个构建,如果知道的话,可以及时重试以完成其他阶段。

此外,我们不希望在项目的每个管道中都这样,只是重要的管道。

如果是,怎么办?订阅发送构建失败。

1 个答案:

答案 0 :(得分:0)

如果任务(例如任务A)失败,则可以使用Powershell任务来取消当前构建。这样就可以取消构建,并在任务A失败时及时通知您

首先在任务A之后添加一个Powershell任务,使用condtion将此Powershell任务设置为仅在任务A失败时才执行。

如果任务A失败,则在powershell任务中调用build update api以取消当前构建。对于下面的powershell任务示例。

为了使您的管道有权取消当前正在运行的构建。您需要进入管道,单击 3点,然后选择管理安全性

enter image description here

然后将停止构建权限设置为允许用户 Project Collection Build Service(projectName)

enter image description here

在下面的powershell任务中,脚本首先使用通过buildid api获取构建来获取当前构建。然后设置idiv。然后使用构建更新API更新当前构建。

$build.status = "cancelling"