2016-04-27 22 views
1

我有一个项目,名为Demo,它没有做任何特别的事情。由Job DSL生成的Jenkins项目未被触发。

我有一个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脚本是不正确的,但我不知道为什么

+0

从DSL脚本生成的'unit-tests'作业是否具有条目'[BuildResultTrigger] - 在**构建触发器**部分监视其他作业的构建结果?同时检查插件[版本](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.triggers.TriggerContext.buildResult)。 – luka5z

+0

@ luka5z是的我可以看到该部分,但未选中复选框 – user1970557

+0

您是否尝试过使用API​​查看器的示例? – luka5z

回答

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') 
    } 
} 
+0

我认为肯定有某种错误。我跑了它不止一次,但复选框仍未检查。我忘了'上游'触发器,所以我会试一试 – user1970557