【发布时间】:2018-08-07 19:16:03
【问题描述】:
我正在尝试编写一个 Spinnaker 管道表达式,该表达式根据当前阶段及其祖先确定一些标准。根据文档,您可以使用the #root helper 获取当前阶段context;但是,似乎没有任何方法可以获取当前的stage。
例如,如果您想查明当前阶段是否有任何具有故障状态的祖先,现在您必须知道阶段名称,考虑到#root 的存在,这似乎违反直觉。
${ #stage("My Stage").ancestors().?[status.isFailure() && name != "My Stage"] }
我想将 #stage("My Stage") 替换为 类似于 #root 但是,#root 是舞台内的上下文对象,而不是舞台本身。
请注意,目前the Stage.ancestorsOnly() method 似乎是私有的,因此如果您想仅查找失败的祖先(或有其他条件),您需要手动排除当前阶段。这就是为什么我在那里有额外的name 比较。
【问题讨论】: