在具有多个作业的 Azure DevOps 发布管道中,我可以在脚本中捕获先前作业的状态吗?
In an Azure DevOps release pipeline with several jobs, can I capture the status of the previous jobs in a script?
在我的 Azure DevOps 发布管道中,我有一个 powershell 脚本,它向状态为 'failed' 或 'successful' 的另一个应用程序发送 REST 请求。
如果之前的任何作业失败,我希望状态发送 'failed'。所以基本上是这样的:
if (($Agent -eq "Succeeded") -and ($LastJobsFailed -ne "true")) {
$change_status="successful"
}
else {
$change_status="failed"
}
现在我知道 Azure Devops 在某处使用此状态,因为您可以根据上一个作业的结果指定作业是否开始。
作为一种解决方法,我将我的脚本复制了两次,状态为 "successful",这仅在所有作业都成功时运行,反之亦然。但我想在一个脚本中做所有事情:)
所以我希望可以找到包含所有以前的工作状态或其他内容的列表。
有人有什么想法吗?
谢谢!
我认为您不需要在 powershell 脚本中检查以前作业的状态。一种解决方法是,您可以创建一个作业(名为 jobSendOK),将 运行 条件指定为 "Only when all previous jobs have succeed",并创建另一个作业(名为 jobSendNG),将 运行 条件指定为"Only when a previous job has failed"。
在jobSendOK中,添加一个发送'successful'的powershell任务,而jobSendNG有一个发送'failed'的powershell任务。
在我的 Azure DevOps 发布管道中,我有一个 powershell 脚本,它向状态为 'failed' 或 'successful' 的另一个应用程序发送 REST 请求。
如果之前的任何作业失败,我希望状态发送 'failed'。所以基本上是这样的:
if (($Agent -eq "Succeeded") -and ($LastJobsFailed -ne "true")) {
$change_status="successful"
}
else {
$change_status="failed"
}
现在我知道 Azure Devops 在某处使用此状态,因为您可以根据上一个作业的结果指定作业是否开始。
作为一种解决方法,我将我的脚本复制了两次,状态为 "successful",这仅在所有作业都成功时运行,反之亦然。但我想在一个脚本中做所有事情:)
所以我希望可以找到包含所有以前的工作状态或其他内容的列表。 有人有什么想法吗?
谢谢!
我认为您不需要在 powershell 脚本中检查以前作业的状态。一种解决方法是,您可以创建一个作业(名为 jobSendOK),将 运行 条件指定为 "Only when all previous jobs have succeed",并创建另一个作业(名为 jobSendNG),将 运行 条件指定为"Only when a previous job has failed"。 在jobSendOK中,添加一个发送'successful'的powershell任务,而jobSendNG有一个发送'failed'的powershell任务。