jenkins - 通过种子作业创建后立即启动 jenkins 作业

标签 jenkins jenkins-job-dsl

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

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

有什么方法可以在 DSL 插件创建后立即启动 Jenkins 作业?我目前唯一能想到的就是添加一个额外的构建调度,但我更愿意使用网络 Hook 来防止不必要的轮询。

最佳答案

您可以使用 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')
}

关于jenkins - 通过种子作业创建后立即启动 jenkins 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32268485/

相关文章:

Jenkins :403 请求中没有包含有效的面包屑

jenkins - 如何使用 Jenkins 管道构建 docker 镜像?

xcode - 使用 Xcode 4.5 从命令行运行 iOS 单元测试

jenkins - 如何使用 Jenkins 使用凭据运行批处理文件

groovy - 如何重构常见的Jenkins JobDSL代码?

plugins - 创建一个在同一个 View 中创建一个新作业的作业 DSL

jenkins - DSL 种子作业 - 如何在 Jenkins 中使用 DSL 更新现有作业

ios - xcodebuild 错误方案未配置运行

groovy - 如何在 groovy 类中使​​用 Jenkins Job DSL Plugin 的闭包

Jenkins 作业 DSL : how to build particular node in Configure block?