詹金斯1.x
以下groovy片段应传递版本(如您所提供的),并将其存储为作业的变量中的“ miniVersion”。
import hudson.model.*def env = System.getenv()def version = env['currentversion']def m = version =~/d{1,2}/def minVerVal = m[0]+"."+m[1]def pa = new ParametersAction([ new StringParameterValue("miniVersion", minVerVal)])// add variable to current jobThread.currentThread().executable.addAction(pa)然后可以从其他构建步骤访问该变量。例如
echo miniVersion=%miniVersion%
输出:
miniVersion=12.34
我相信您需要使用“系统Groovy脚本”(仅在主节点上),而不是“ Groovy插件”-https: //wiki.jenkins-
ci.org/display/JENKINS/Groovy+plugin# Groovyplugin-
GroovyscriptvsSystemGroovyscript
詹金斯2.x
我相信以前的( Jenkins 1.x )行为由于此安全公告而停止工作…
解决方案(摘自安全公告)
它可以通过设置系统属性来恢复以前的行为
hudson.model.ParametersAction.keepUndefinedParameters来
true。
这可能非常不安全 ,仅作为短期解决方法。
java -Dhudson.model.ParametersAction.keepUndefinedParameters=true -jar jenkins.war
要允许将特定的已知安全参数名称传递给构建,请将系统属性设置
hudson.model.ParametersAction.safeParameters为以逗号分隔的安全参数名称列表。
例如
java -Dhudson.model.ParametersAction.safeParameters=miniVersion,FOO,BAR -jar jenkins.war



