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

时间:2016-04-27 16:22:28

标签: jenkins jenkins-job-dsl

我有一个名为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脚本不正确,但我不确定为什么

2 个答案:

答案 0 :(得分:0)

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

但您不一定需要使用BuildResultTrigger插件。您可以使用内置的“构建其他项目后构建”选项,请参阅https://jenkinsci.github.io/job-dsl-plugin/#path/job-triggers-upstream

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

答案 1 :(得分:0)

使用上游添加“生成其他项目后生成”触发器。参见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')
        }
    }
}