Java 扩展Jenkins/Hudson插件以设置环境变量对
我正在扩展现有的Jenkins/Hudson插件。我希望它为正在运行的项目设置一个环境变量对。最简单的方法是什么?使用插件。您可以在作业开始之前创建环境变量,或者将其作为生成步骤来执行。您可以使用EnvironmentContributor扩展点,请参见生成期间的,例如在Java 扩展Jenkins/Hudson插件以设置环境变量对,java,plugins,jenkins,hudson,environment-variables,Java,Plugins,Jenkins,Hudson,Environment Variables,我正在扩展现有的Jenkins/Hudson插件。我希望它为正在运行的项目设置一个环境变量对。最简单的方法是什么?使用插件。您可以在作业开始之前创建环境变量,或者将其作为生成步骤来执行。您可以使用EnvironmentContributor扩展点,请参见生成期间的,例如在生成器的perform()方法中,您至少可以执行以下操作: @Override public boolean perform(Build<?, ?> build, Launcher launcher, BuildLi
生成器的perform()
方法中,您至少可以执行以下操作:
@Override
public boolean perform(Build<?, ?> build, Launcher launcher, BuildListener listener)
throws InterruptedException, IOException {
//...
List<ParameterValue> params = new ArrayList<ParameterValue>();
params.add(new StringParameterValue(name1, value1));
params.add(new StringParameterValue(name2, value2));
build.addAction(new ParametersAction(params));
//...
}
@覆盖
公共布尔执行(构建、启动器、启动器、监听器)
抛出InterruptedException,IOException{
//...
List params=new ArrayList();
添加(新的StringParameterValue(名称1,值1));
添加(新的StringParameterValue(name2,value2));
build.addAction(新参数操作(params));
//...
}
它将添加键值对作为构建参数,这些参数也将以通常的方式作为环境变量显示。注意:我还没有做过广泛的测试,在某些情况下可能会出现一些“gotcha”。。。但到目前为止,它对我很有效。我想,我还没有清楚地表达自己。我需要我的扩展插件将一些关于其状态的信息保存为env变量。所以我需要一个通用的Jenkins解决方案(代码),很好!如果您不希望自己的参数出现在作业页面上,您还可以执行自己的操作,以实现InvisibleAction
。