gpt4 book ai didi

jenkins - 如何获取当前的 Jenkins 管道 StepContext

转载 作者:行者123 更新时间:2023-12-02 21:26:17 24 4
gpt4 key购买 nike

我在管道中有一个步骤,从上下文中提取对象并使用它们。但是,我需要访问步骤之外的这些对象以馈入不同的步骤,而第二步不会公开它。

stage() {
steps {
script {
def status = waitForQualityGate()
// Use the taskId
}
}
}
}

waitForQualityGate() 调用仅返回一个 bool 值,因此我无法在那里访问它。

我可以手动初始化该步骤,如下所示:

 script {
def qualityGate = new WaitForQualityGateStep()
def taskId = qualityGate.getTaskId()
}

但是taskId为空。如果我尝试在步骤上手动运行启动方法:

script {
def qualityGate = new WaitForQualityGateStep()
qualityGate.start().start()
def taskId = qualityGate.getTaskId()
}

失败并显示消息:

java.lang.IllegalStateException: you must either pass in a StepContext to the StepExecution constructor, or have the StepExecution be created automatically

WaitForQualityGateStep 具有我需要的信息,但如果没有 StepContext (这是一个抽象类),我无法初始化它。我怎样才能从管道中获得一个?

最佳答案

您可以在管道之前定义变量,并在步骤中设置其值。这样变量在整个管道中都是可见的。

关于jenkins - 如何获取当前的 Jenkins 管道 StepContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52671382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com