Hudson/Jenkins插件开发:如何获取其他插件的环境变量

Hudson/Jenkins Plugin development: how to get environment variables of other plugin

我的 Hudson 配置有点旧。我们有一个内部开发的插件,可以查询 Nexus 存储库并设置一些作业参数。该插件位于 Java.

我们还使用已弃用的 SetEnv Plugin,我们在其中设置了一堆环境变量。

我们的插件,基本上扩展了 ParameterDefinition class 以在构建作业屏幕中提供一堆选项,然后是 ParameterValue class 为我们的作业设置环境变量。

我们的参数定义classe:

class NexusQueryParameterDefinition extends ParameterDefinition

是否可以从我们的参数定义class访问SetEnv插件中定义的环境变量?

我在定义参数化构建时遇到的问题,即在我按下按钮 "build now" 和按下按钮 "Build" 开始进程之间的屏幕。此时我不知道如何访问作业实例对象,我相信构建对象只会在提交表单时创建。

这些环境变量保存在 config.xml 中,所以如果我可以读取这个文件,我就可以解析这些值。

我建议您探索使用 Environment Injector 插件和 groovy 代码来 return 设置环境中的地图对象,用于作业配置中的 运行 选项.

看起来不更改 Hudson/Jenkins 代码是不可能的。

这里是 link 关于它的:https://groups.google.com/forum/#!topic/jenkinsci-dev/2hLy525cxsg

如果环境变量已经注入到运行时,你试过了吗?意味着使用 System.getenv("yourEnvVar");

访问环境 属性

如果要访问SetEnv-Plugin配置的Env-Params作为迁移路径,那就比较棘手了。但是对于迁移 cse,我建议阅读 config.xml 并在您的插件本身中提取配置。