システム groovy スクリプトから jenkins パラメータをジョブに追加しています (1 つのビルド ステップ):
1段目。
import hudson.model.*
def pa = new ParametersAction([
new StringParameterValue("firstParam", 1), new StringParameterValue("secondParam", 2)
])
Thread.currentThread().executable.addAction(pa)
次のシステム groovy ビルド ステップを実行しようとすると、それらを探していますが、そこにはありません。
2 番目のステップ。
def firstParam = "firstParam"
def secondParam = "secondParam"
def resolver = build.buildVariableResolver
def firstParamValue = resolver.resolve(firstParam)
def secondParamValue = resolver.resolve(secondParam)
println firstParamValue
println secondParamValue
どちらも null を出力します! 次のシステム groovy ビルド ステップでパラメーターを取得するにはどうすればよいですか?
奇妙なことに、次のステップとしてシェルの実行を試みると、次のようになります。
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
}