如何在插件中创建新的Jenkins作业?
我有一个Jenkins插件,可监听消息队列,并在消息到达时触发新事件以创建新作业(或开始运行)。
我正在寻找类似的东西:
Job myJob = new Job(...);
我知道我可以使用REST API或CLI,但是由于我在插件中,因此我将使用Java内部解决方案。
您只需执行以下操作即可创建新的hudson / jenkins作业:
FreeStyleProject proj = Hudson.getInstance().createProject(FreeStyleProject.class, NAMEOFJOB);
如果您希望能够处理更新(并且已经拥有config.xml):
config.xml
import hudson.model.AbstractItem import javax.xml.transform.stream.StreamSource import jenkins.model.Jenkins final jenkins = Jenkins.getInstance() final itemName = 'name-of-job-to-be-created-or-updated' final configXml = new FileInputStream('/path/to/config.xml') final item = jenkins.getItemByFullName(itemName, AbstractItem.class) if (item != null) { item.updateByXml(new StreamSource(configXml)) } else { jenkins.createProjectFromXML(itemName, configXml) }
不过,在执行此操作之前,请确保您具有核心.jar文件。