种子作业不会将环境变量传递给groovy dsl脚本

时间:2017-05-15 19:55:39

标签: jenkins groovy jenkins-job-dsl

我正在使用job-dsl-plugin。在我的种子作业'a'中,我使用'将环境变量注入构建过程'选项设置构建环境变量,并在'属性内容'中提供如下的环境变量:

SERVERADDRESS=abc

现在,相同的种子作业也在“构建”部分中按如下方式处理作业DSL:

Look on Filesystem = enabled
DSL Scripts = **/*.groovy
Action for removed jobs = Ignore
Action for removed Views = Ignore

现在,上面包含的groovy脚本正在创建另一个作业'b',我试图访问'SERVERADDRESS'变量值,如下所示:

goals('-DserverAddress=${SERVERADDRESS}')

但上面的变量我无法在我的groovy脚本中访问。我可以访问标准环境变量,例如作业'b'中的JOB_NAME,BUILD_ID,BUILD_TAG等,但我在作业'a'中定义的自定义变量(SERVERADDRESS)无法访问。

我们有什么方法可以将种子作业中的自定义变量访问到种子作业创建的子作业?

1 个答案:

答案 0 :(得分:1)

如果您仅使用envInject设置自定义参数(而不是使用参数注入文件),请使用'此项目已参数化'种子作业中的选项并在那里设置参数。

您可以使用binding.variables.get('<your variable name>')

获取这些变量