我将Jenkins与Testswarm和这个插件 (分叉源)结合使用。
我想要一个测试群的“作业名”,其中包含Jenkins作业名、生成号和svn修订号。
在configuration字段中放置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")
}在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,混合模式)
发布于 2013-01-09 08:25:57
顶替
EnvVars envVars = build.getEnvironment(listener);通过
EnvVars envVars = new EnvVars();
envVars = build.getEnvironment(listener);成功了..。
发布于 2013-01-08 17:36:35
您使用的是什么版本的Java?根据这,要获得环境变量,需要添加以下内容:
String job_name = System.getenv("JOB_NAME");你试过这个吗?
另外,我不知道配置字段是什么样子,但是您尝试使用$JOB_NAME而不是JOB_NAME吗?
发布于 2020-03-20 21:25:00
Jenkins管道似乎在服务器上执行,因此原始post可能缺少为代理定义的变量(通过服务器的代理定义或通过代理的操作系统)。
我不知道詹金斯管道如何获得代理人的环境。
https://stackoverflow.com/questions/14214249
复制相似问题