jenkins管道PR build包含错误的分支名称

时间:2018-02-19 15:08:18

标签: jenkins jenkins-pipeline pull-request bitbucket-server

我正在使用带有bitbucket的Jenkins多分支管道,我发现为PR创建的自动构建失败,因为我依赖于env.BRANCH_NAME。 问题是这个env现在不按预期保存功能分支名称,而是保存PR(例如PR-2而不是功能/测试分支)。

我的工作中的代码会根据BRANCH_NAME推送到分支机构。显然现在这个代码失败了,因为没有名为PR-2的分支。

之前有人看过这个并有解决方法吗?

1 个答案:

答案 0 :(得分:0)

在管道中有一个阶段可以相应地设置构建名称,以防万一我必须使用CHANGE_BRANCH而不是普通的分支名称。

stage('Set Build Name') {
  steps {
    script {
      if (env.BRANCH_NAME.startsWith('PR')) {
        currentBuild.displayName = "#${env.BUILD_NUMBER} - ${env.CHANGE_BRANCH}"
      } else {
        currentBuild.displayName = "#${env.BUILD_NUMBER} - ${env.BRANCH_NAME}"
      }
    }
  }
}