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

时间:2017-09-18 22:18:41

标签: java jenkins jenkins-plugins hudson hudson-plugins

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

我们还使用了depreacated SetEnv Plugin,我们设置了一堆环境变量。

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

我们的参数定义classe:

y

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

我正处于参数化构建的定义时间的问题,即当我按下“立即构建”按钮和按下“构建”按钮以启动过程之间的屏幕。此时我不知道如何访问作业实例对象,我相信在提交表单时就会创建构建对象。

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

3 个答案:

答案 0 :(得分:0)

我建议您使用Environment Injector插件和groovy代码来探索在作业配置中的“运行”选项的“设置环境”中返回地图对象。

答案 1 :(得分:0)

看起来在不改变Hudson / Jenkins代码的情况下是不可能的。

以下是有关它的链接:https://groups.google.com/forum/#!topic/jenkinsci-dev/2hLy525cxsg

答案 2 :(得分:-1)

您是否尝试过将环境变量注入运行时?使用System.getenv(“yourEnvVar”)访问环境属性的方法;

如果要为迁移路径访问已配置的SetEnv-Plugin的Env-Params,则会更棘手。但是对于migation,我建议你阅读config.xml并在你的插件中提取配置。