Jenkins Groovy:是什么触发了构建

DJ维京

我当时在考虑在我的Jenkins构建工作中使用Groovy脚本,因为我有一些条件要检查,可能需要访问Jenkins API。

是否有可能从Groovy脚本中找出触发构建的人员或原因?SCM更改,另一个项目或用户。我刚刚开始阅读一些有关Groovy和Jenkins API的文章。

我想检查以下条件并相应地构建。一些伪代码:

def buildTrigger JenkinsAPI.thisBuild.Trigger
if (buildTrigger == scm) {
   execute build_with_automake
   def new_version = check_git_and_look_up_tag_for_version
   if (new_version) {
      execute git tag new_release_candidate
      publish release_candidate
   }
} else if (buildTrigger == "Build other projects") {
  execute build_with_automake
}

该项目应建立在每次SCM更改的基础上,但是只有在版本已增加的情况下才标记和发布。当另一个项目触发了构建时,它也应该构建。

蒂达尔·克莱因·奥尔巴赫

我有类似的东西-我想让触发构建的用户,这是我的代码:

for (cause in bld.getCauses()) {
    if (cause instanceof Cause.UserIdCause) {
        return cause.getUserName()
    }
}

(bld是Run的子类型)

因此,您可以获取生成原因,并检查其类型。

请参阅Cause Javadoc http://javadoc.jenkins-ci.org/hudson/model/Cause.html上的不同类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章