未触发 Job DSL 生成的 Jenkins 项目。

Jenkins project generated by Job DSL is not triggered.

我有一个名为 Demo 的项目,它没有做任何特别的事情。

我有一个 DSL 脚本,如下所示:

def gitUrl = 'GIT_URL'

job('unit-tests') {
    scm {
        git(gitUrl)
    }
    triggers {
        buildResult('H/* * * * *') {
            combinedJobs()
            triggerInfo('Demo', BuildResult.SUCCESS, BuildResult.UNSTABLE)
        }
    }
}

现在我想做的是,当 Demo 项目 运行 成功时(它从 Github 签出 PHP 应用程序),我想要 unit-tests 工作到 运行。

目前,当 Demo 项目构建时,unit-tests 作业永远不会 运行。

我猜我的 DSL 脚本不正确,但不确定原因

我可以重现你的问题。 运行 第一次种子作业时不设置复选框。但它是在 运行 第二次种子作业之后设置的。一定是 BuildResultTrigger 插件的问题。请在 Jenkins JIRA 中提交错误报告:https://issues.jenkins-ci.org/projects/JENKINS

但您不一定需要使用 BuildResultTrigger 插件。您可以使用内置的 "Build after other projects are built" 选项,请参阅 https://jenkinsci.github.io/job-dsl-plugin/#path/job-triggers-upstream

job('unit-tests') {
    triggers {
        upstream('Demo', 'UNSTABLE')
    }
}

使用上游,它添加了“在构建其他项目后构建”触发器。见 https://jenkinsci.github.io/job-dsl-plugin/#path/job-triggers-upstream

def gitUrl = 'GIT_URL'

job('unit-tests') {
    scm {
        git(gitUrl)
    }
    triggers {
        buildResult('H/* * * * *') {
            upstream('Demo', 'UNSTABLE')
        }
    }
}