为什么可以';我在下一个groovy构建步骤中没有看到以编程方式插入的jenkins字符串参数吗?

为什么可以';我在下一个groovy构建步骤中没有看到以编程方式插入的jenkins字符串参数吗?,groovy,jenkins,Groovy,Jenkins,我正在从system groovy脚本向作业添加jenkins参数(一个构建步骤): 第一步 现在,当我尝试执行下一个system groovy构建步骤时,我正在寻找它们,但它们不在那里: 第二步 他们都打印空如何在下一个system groovy构建步骤中获取参数? 奇怪的是,当我尝试以下步骤执行shell时,如果我这样做: echo $firstParam echo $secondParam 我打印了1和2 即使我尝试使用以下代码打印所有参数,我也无法获得它们: def thr = Thr

我正在从system groovy脚本向作业添加jenkins参数(一个构建步骤):

第一步

现在,当我尝试执行下一个system groovy构建步骤时,我正在寻找它们,但它们不在那里:

第二步

他们都打印空如何在下一个system groovy构建步骤中获取参数?

奇怪的是,当我尝试以下步骤执行shell时,如果我这样做:

echo $firstParam
echo $secondParam
我打印了1和2

即使我尝试使用以下代码打印所有参数,我也无法获得它们:

def thr = Thread.currentThread()
def build = thr?.executable
def parameters = build?.actions.find{ it instanceof ParametersAction }?.parameters
parameters.each {  
  println "parameter ${it.name}:"
  println it.dump()
  println "-" * 80
}

您的第一个构建步骤对我不起作用,它给出了一个运行时错误,因为正在设置的字符串参数是整数而不是字符串。我把它改成这样,它就可以工作了,第二步得到参数(我在整数值周围加了引号,并在当前构建中使用了'build'变量):


我正在Jenkins v1.519上尝试这个

“您的第一个构建步骤对我不起作用,它给出了一个运行时错误,因为正在设置的字符串参数是整数而不是字符串。”实际上,这些参数是字符串。通过替换实数,我错误地放置了整数,因此您可能是对的。我将对此进行编辑。“第二步获取参数(我在整数值周围添加了引号,并在当前构建中使用了'build'变量)”-您是否能够在另一个系统groovy构建步骤中获取变量(或者在同一构建步骤中?因为我无法在下一个系统groovy构建步骤(第2步)中获取它们。
echo $firstParam
echo $secondParam
def thr = Thread.currentThread()
def build = thr?.executable
def parameters = build?.actions.find{ it instanceof ParametersAction }?.parameters
parameters.each {  
  println "parameter ${it.name}:"
  println it.dump()
  println "-" * 80
}
import hudson.model.*

def pa = new ParametersAction([
    new StringParameterValue("firstParam", '1'), new StringParameterValue("secondParam", '2')
])
build.addAction(pa)