在种子工作创建后立即开始jenkins工作

时间:2015-08-28 10:08:33

标签: jenkins jenkins-job-dsl

我使用Jenkins DSL插件为git项目的所有分支自动创建构建作业。 DSL插件由Web挂钩触发,以便在创建新分支后立即运行。每个分支生成的构建作业也配置为由Web挂钩触发。

当前设置的问题是,构建只会在第二次提交后执行。第一次提交将触发Jenkins DSL插件创建相应的Jenkins Job,然后第二次提交将触发新创建的作业。

有没有办法,在DSL插件创建Jenkins工作后立即开始工作?我目前唯一可以提出的是添加额外的构建计划,但我更喜欢仅使用Web钩子来防止不必要的轮询。

1 个答案:

答案 0 :(得分:17)

您可以使用queue DSL命令来安排构建,请参阅https://github.com/jenkinsci/job-dsl-plugin/wiki/Job-DSL-Commands#queue

要将作业排队,只要它是新的,您需要使用Jenkins API来测试作业是否已存在。

if (!jenkins.model.Jenkins.instance.getItemByFullName('my-job')) {
    queue('my-job')
}