Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 扩展Jenkins/Hudson插件以设置环境变量对_Java_Plugins_Jenkins_Hudson_Environment Variables - Fatal编程技术网

Java 扩展Jenkins/Hudson插件以设置环境变量对

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

我正在扩展现有的Jenkins/Hudson插件。我希望它为正在运行的项目设置一个环境变量对。最简单的方法是什么?

使用插件。您可以在作业开始之前创建环境变量,或者将其作为生成步骤来执行。

您可以使用EnvironmentContributor扩展点,请参见生成期间的,例如在
生成器的
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