gpt4 book ai didi

Jenkins 插件 : create a new job programmatically

转载 作者:行者123 更新时间:2023-12-04 07:25:03 25 4
gpt4 key购买 nike

如何在插件中创建新的 Jenkins 作业?

我有一个 Jenkins 插件,它监听消息队列,并在消息到达时触发新事件以创建新作业(或开始运行)。

我正在寻找类似的东西:

Job myJob = new Job(...);

我知道我可以使用 REST API 或 CLI,但由于我在插件中,我将使用 java 内部解决方案。

最佳答案

您只需执行以下操作即可创建新的 hudson/jenkins 作业:

FreeStyleProject proj = Hudson.getInstance().createProject(FreeStyleProject.class, NAMEOFJOB);

如果您希望能够处理更新(并且您已经拥有 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 文件。

关于 Jenkins 插件 : create a new job programmatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14322179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com