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

9

我在一个有点老的Hudson配置中。我们有一个内部开发的插件,查询Nexus存储库并设置一些作业参数。该插件是用Java编写的。

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

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

我们的Parameter Definition类:

class NexusQueryParameterDefinition extends ParameterDefinition

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

我的问题是在参数化构建的定义时,也就是我按下“立即构建”按钮和按下“构建”按钮开始进程之间的屏幕。此时我不知道如何访问作业实例对象,而且我相信构建对象只会在表单提交时才会创建。

这些环境变量被持久化在config.xml中,因此如果我可以读取此文件,我可以解析出值。

3个回答

0

0
我建议您探索使用环境注入器插件和Groovy代码,在作业配置中的“运行选项”中返回一个映射对象,以设置环境。

-1

你尝试过检查环境变量是否已经注入到运行时了吗?可以通过 System.getenv("yourEnvVar") 访问环境属性。

如果你想要访问 SetEnv 插件配置的 Env-Params 以进行迁移路径,那么会更加棘手。但是对于迁移情况,我建议读取 config.xml 并在插件本身中提取配置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接