Azure devops 仅当特定的先前作业失败时,才有条件地运行Azure DevOps作业

Azure devops 仅当特定的先前作业失败时,才有条件地运行Azure DevOps作业,azure-devops,conditional-statements,azure-pipelines-release-pipeline,Azure Devops,Conditional Statements,Azure Pipelines Release Pipeline,在Azure DevOps中,我试图使发布作业(不是YAML管道作业)仅在特定的先前作业失败时运行。运行作业的预定义条件之一是“仅当前一个作业失败时”,但这并不合适,因为它包括所有以前的作业,而不仅仅是最后一个作业(或者更好的是,用户选择的作业) 请注意,重点是工作中的任务,而不是我正在寻找的答案 根据“如果前一个作业成功出现问题,如何触发作业?”下的for条件,我可以访问前一个作业的结果- eq(dependencies.A.result,'SucceededWithIssues') 查看以

在Azure DevOps中,我试图使发布作业(不是YAML管道作业)仅在特定的先前作业失败时运行。运行作业的预定义条件之一是“仅当前一个作业失败时”,但这并不合适,因为它包括所有以前的作业,而不仅仅是最后一个作业(或者更好的是,用户选择的作业)

请注意,重点是工作中的任务,而不是我正在寻找的答案

根据“如果前一个作业成功出现问题,如何触发作业?”下的for条件,我可以访问前一个作业的结果-

eq(dependencies.A.result,'SucceededWithIssues')
查看以前版本的日志,我希望检查的作业的
代理_JOBNAME
部署后测试
,因此这意味着我的状况应该是这样的。然而,Azure DevOps甚至不让我保存我的版本-

not(eq(dependencies.Post Deployment Tests.result, 'succeeded'))
阶段“Dev”中作业“部署后测试失败时交换插槽”的作业条件无效:意外符号:“部署”

我试图用引号括起作业名称,但我也遇到了类似的错误-

not(eq(dependencies.'Post Deployment Tests'.result, 'succeeded'))
not(eq(dependencies."Post Deployment Tests".result, 'succeeded'))
我还尝试使用下划线引用我的作业,这确实允许我保存版本,但在运行时会导致错误-

not(eq(dependencies.Post_Deployment_Tests.result, 'succeeded'))
无法识别的值:“依赖项”

我如何实现只有在特定的前一个作业失败时才有条件地运行作业的目标

我如何才能实现仅在以下情况下有条件地运行作业的目标: 以前的特定作业失败了吗

1.您应该知道Yaml管道和经典管道使用差异技术

看,它们有不同的功能。此外,尽管它们(
Yaml、经典构建、经典发布版
)都支持工作条件,但它们在条件方面的行为也有很大不同

经典(UI)发布管道不支持您尝试的
eq(依赖项。“部署后测试”。结果“成功”)
。这是给亚马尔的:

由于发布管道中不支持作业依赖项,因此预期会出现错误,如
无法识别的值:“依赖项”
。看这个

我如何才能实现仅在以下情况下有条件地运行作业的目标: 以前的特定作业失败了吗

1.您应该知道Yaml管道和经典管道使用差异技术

看,它们有不同的功能。此外,尽管它们(
Yaml、经典构建、经典发布版
)都支持工作条件,但它们在条件方面的行为也有很大不同

经典(UI)发布管道不支持您尝试的
eq(依赖项。“部署后测试”。结果“成功”)
。这是给亚马尔的:


由于发布管道中不支持作业依赖项,因此预期会出现错误,如
无法识别的值:“依赖项”
。看看这个。

悲伤的时刻。Azure DevOps提供的糟糕用户体验的另一个例子,我将不得不尝试解决。你知道这是否至少在路线图上吗?很抱歉给你带来不便,但我在我们的用户语音论坛上没有找到类似的请求。我建议你可以在我们的DC论坛上提交分享你的想法。如果得到足够的选票,团队会认真考虑。你可以在这里分享链接,我们对此感兴趣的人也可以投你一票:)需要相同的功能来解决另一个在devops中没有完全实现的功能。。。如果有一天MSFT在完成第一个版本之前,停止使用另一种技术(这里是YAML)重新发明第二个版本的轮子,那将是非常棒的…悲伤的时刻。Azure DevOps提供的糟糕用户体验的另一个例子,我将不得不尝试解决。你知道这是否至少在路线图上吗?很抱歉给你带来不便,但我在我们的用户语音论坛上没有找到类似的请求。我建议你可以在我们的DC论坛上提交分享你的想法。如果得到足够的选票,团队会认真考虑。你可以在这里分享链接,我们对此感兴趣的人也可以投你一票:)需要相同的功能来解决另一个在devops中没有完全实现的功能。。。如果有一天MSFT在完成第一个版本之前,停止使用另一种技术(这里是YAML)为第二个版本重新发明轮子,那就太好了。。。