我正在使用Scriptler插件,因此可以在构建步骤中运行groovy脚本。我的Jenkins奴隶正在服务模式下的Windows上运行。使用脚本编辑器,我不需要使用Windows批处理脚本。
但是我很难在构建步骤中获取环境变量。
System.getenv("BASE")
哪里BASE是将env-瓦尔对詹金斯启动部分。但是,我想得到
BASE
%JOB_NAME%
如果要添加“执行Windows批处理命令”构建步骤:
echo %JOB_NAME%
有用。如果要添加具有相同设置的脚本程序脚本作为构建步骤:
println "JOB_NAME: " + System.getenv("JOB_NAME")
我越来越:
JOB_NAME: null
那么,如何在构建步骤中从groovy脚本中获取注入的环境变量?
Scriptler Groovy脚本似乎无法获取构建的所有环境变量。但是您可以执行的是强制将它们作为脚本的参数输入:
当您将Scriptler构建步骤添加到您的工作中时,选择选项“定义脚本参数”
为要传递的每个环境变量添加一个参数。例如,“名称:JOB_NAME”,“值:$ JOB_NAME”。该值将使用’$ envName’类型变量从Jenkins构建环境中扩展,根据我的经验,作业配置设置中的大多数字段都支持这种扩展。
在脚本中,您应该有一个与参数同名的变量,因此您可以通过以下方式访问参数:
println“ JOB_NAME = $ JOB_NAME”
除了进行一些实验外,我还没有使用Sciptler,但是您的问题提出了一个有趣的问题。我希望这有帮助!