主动选择插件Groovy脚本-读取环境变量

时间:2018-08-21 08:22:23

标签: jenkins groovy environment-variables

我想在主动选择插件groovy脚本中使用环境变量“ WORKSPACE”。 我试图像这样检索它,但是没有用。无法识别WORKSPACE。

$ {WORKSPACE}

有人可以在这里帮助我吗?

摘要:

def sout = new StringBuffer(), serr = new StringBuffer()

def proc ='/test/script.sh'.execute()

proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println sout

在这里我需要访问脚本而不是/test/script.sh,如下所示:

def process='$workspace path/test/script.sh

1 个答案:

答案 0 :(得分:0)

不可能获得“环境”变量。更好的名称是“属性”。这些由Jenkins在内部版本启动时动态生成,而不是在设置参数时生成。 设置参数时,您可以使用EnvVars获取一些环境变量,但是它们很少。可以使用以下代码在Jenkins脚本控制台上对此进行测试:

import hudson.EnvVars

for (envVarName in EnvVars.masterEnvVars.keySet()) {
  def envVarValue = EnvVars.masterEnvVars[envVarName]
  println("${envVarName}=${envVarValue}")
}

结果:

_=/etc/alternatives/java
HOME=/home/jenkins
LANG=en_US.UTF-8
LOGNAME=jenkins
NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PWD=/
SHELL=/bin/bash
SHLVL=2
TERM=xterm-256color
USER=jenkins
XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt

WORKSPACE属性具有更多功能。当您启动构建时,该目录可能不存在,特别是在您第一次进行构建时。如果您认为有意义,我的建议是将该脚本放在userContent目录中,然后根据该脚本制定其余的内容。