Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
如何以编程方式向Jenkins作业添加构建步骤?_Jenkins_Hudson_Jenkins Plugins - Fatal编程技术网

如何以编程方式向Jenkins作业添加构建步骤?

如何以编程方式向Jenkins作业添加构建步骤?,jenkins,hudson,jenkins-plugins,Jenkins,Hudson,Jenkins Plugins,我正在编写一个Jenkins插件,我希望它能够创建一个新作业(在perform(…)方法中,作为构建步骤) 我知道我可以创造这样的工作: FreeStyleProject proj = Hudson.getInstance().createProject(FreeStyleProject.class, "New job"); 我可以使用proj.addProperty(someJobProperty)向它添加属性 然后,如何以编程方式向项目添加构建步骤,如属性?具体来说,我想添

我正在编写一个Jenkins插件,我希望它能够创建一个新作业(在
perform(…)
方法中,作为构建步骤)

我知道我可以创造这样的工作:

 FreeStyleProject proj =
       Hudson.getInstance().createProject(FreeStyleProject.class, "New job");
我可以使用
proj.addProperty(someJobProperty)
向它添加属性

然后,如何以编程方式向项目添加构建步骤,如属性?具体来说,我想添加一个执行shell和复制工件构建步骤


我一直在浏览Jenkins JavaDoc,尤其是页面,但没有找到任何对我有帮助的东西。

该项目有一个方法
getBuildersList()
,它返回所有构建步骤的列表。只需将生成步骤添加到此方法返回的列表中,即可将生成步骤添加到项目中。要添加到列表中的对象必须是
生成器

我是这样做的(以Jenkins HelloWorld教程中的插件为例):

这将向项目中添加Hello World构建步骤

类似地,还有一个
getPublishersList()
方法,它返回所有生成后步骤的列表,并包含
Publisher
对象

proj.getBuildersList().add(new HelloWorldBuilder("Bobbly"));