在具有多个作业的Azure DevOps发布管道中,我可以在脚本中捕获以前作业的状态吗?

时间:2019-07-18 11:18:30

标签: powershell azure-devops azure-pipelines-release-pipeline

在我的Azure DevOps发布管道中,我有一个Powershell脚本,该脚本将REST请求发送到状态为“失败”或“成功”的另一个应用程序。

如果任何先前的作业失败,我希望状态发送“失败”。所以基本上是这样的:

if (($Agent  -eq "Succeeded") -and ($LastJobsFailed -ne "true")) {
   $change_status="successful"
}
else {
   $change_status="failed"
}

现在我知道Azure Devops会在某处使用此状态,因为您可以根据最近一次作业的结果指定是否启动作业。

作为一种解决方法,我一次将脚本复制了两次,并且状态为“成功”,并且仅在所有作业成功时运行,反之亦然。但是我想用一个脚本来做所有的事情:)

因此,我希望可以找到包含所有先前工作状态或其他内容的列表。 任何想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您不需要在powershell脚本中检查以前作业的状态。一种解决方法是,您可以创建一个作业(名为jobSendOK),将运行条件分隔为“仅当所有先前作业都成功时”,然后创建另一个作业(名为jobSendNG),将运行条件分隔为“仅当以前的工作失败了”。 在jobSendOK中,添加用于发送“成功”的powershell任务,而jobSendNG具有用于发送“失败”的powershell任务。

enter image description here