Jenkins插件 - environement变量

GMO*_*GMO 4 variables environment plugins jenkins

我正在使用Jenkins和Testswarm以及这个插件(forked sources).

我希望获得包含Jenkins作业名称,内部版本号和svn修订号的Testswarm的"作业名称".

将JOB_NAME置于配置字段中没有帮助,该变量不会被其值替换.

所以我修改了插件源代码以获取Jenkins环境变量,但我得到的只是"null".

这是罪魁祸首的代码.(在第205行的src/main/java/com/javaclimber/jenkins/testswarmplugin/TestSwarmBuilder.java中)

我研究了很多关于这个功能的东西,我没有找到一个获得变量的工作示例.

public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
    ...
EnvVars envVars = build.getEnvironment(listener);
    ...
    envVars.get("JOB_NAME")
}
Run Code Online (Sandbox Code Playgroud)

我在Java方面并不放心,而且我在这一点上陷入困​​境.请问有谁,请?

更新:java使用的版本
java版本"1.6.0_24"
OpenJDK运行时环境(IcedTea6 1.11.5)(6b24-1.11.5-0ubuntu1~10.04.2)
OpenJDK 64位服务器VM(内置20.0-b12,混合模式)

GMO*_*GMO 9

更换

EnvVars envVars = build.getEnvironment(listener);
Run Code Online (Sandbox Code Playgroud)

通过

EnvVars envVars = new EnvVars();
envVars = build.getEnvironment(listener);
Run Code Online (Sandbox Code Playgroud)

做了诀窍......

  • 这没有任何意义......两个代码片段应该产生相同的东西,除了第二个代码片段创建一个从未使用过的"EnvVars"实例并立即被丢弃.任何想法*为什么*这解决了问题? (4认同)