2016-04-27 20 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