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

Jan*_*sen 12 jenkins jenkins-job-dsl

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

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

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

das*_*ker 18

您可以使用queueDSL命令来安排构建,请参阅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')
}
Run Code Online (Sandbox Code Playgroud)