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

YaO*_*aOg 6 pull-request jenkins bitbucket-server jenkins-pipeline

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

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

有没有人以前看过这个并且有解决方法?

Chr*_*n.D 7

我的管道中有一个阶段,相应地设置构建名称,以防我必须使用 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}"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)