Jenkins 作业 DSL:在 groovy 脚本中提取最后一次提交的分支

Jenkins job DSL: extract branch with last commit in groovy script

我正在使用 Jenkins 自动完成 运行 作业。我还使用 Bitbucket Server 作为版本控制系统。

我使用一些 groovy 脚本来创建我的 Jenkins 作业 DSL(在每次提交时)我的 Bitbucket 存储库中的任何更改:

job(jobName) {
  steps {
    // Doing some staff. Need name of branch where last commit was done
  }
  scm {
      git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
  }
  triggers {
    bitbucketPush()
    scm ''
  }

因此,当我对 my_repo 进行一些提交时,此作业运行并且我想提取完成提交的分支的名称。有可能以某种方式做到吗?

P.S。在 Jenkins 端(UI)我可以看到当前执行的分支名称,但我不知道如何在 groovy 端提取它。

基本上,每次构建的分支信息都会存储在ID为"GIT_BRANCH"的环境变量中,所以有很多方法可以提取它。

你可以简单地添加以下脚本

job(jobName) {
  steps {
       shell('''
               echo $GIT_BRANCH
             '''.stripIndent().trim())
            }
  scm {
      git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
  }
  triggers {
    bitbucketPush()
    scm ''
  }