Release.Environments.{Stage}.Status 总是 "InProgress"

Release.Environments.{Stage}.Status is always "InProgress"

我在 Azure DevOps 上有一个 release 管道。在流水线的末尾(最后一步),它正在检查 stage 状态并将其发送到另一个系统。

我正在从预定义变量中获取状态:Release.Environments.MyStage.Status 问题是无论发布期间发生什么(失败或取消),变量总是 InProgress

这是设计使然吗?有没有另一种方法可以做到这一点而无需设置多个步骤(在不同条件下)?

如果您在他未完成时检查阶段状态,状态将为 "In Progress",因为这是当前状态。

该变量旨在检查 另一个 阶段的状态,因此当您有两个阶段时,第一阶段失败,第二阶段(即 运行 在首先完成)你检查他的状态你会得到 "Rejected" 而不是 "In Progress"。

如果你想检查当前的 Stage 状态,你可以使用变量 Agent.JobStatus,这个变量 returns 当前的作业状态(变量只出现在构建变量文档中,但他也适用于 Release)。