Jenkins 环境变量 - 检测拉取请求

标签 jenkins jenkins-pipeline

我正在尝试检测是否在分支上创建了拉取请求。

来自阅读https://ci.eclipse.org/webtools/env-vars.html/

CHANGE_TARGET 是:

For a multibranch project corresponding to some kind of change request, this will be set to the target or base branch to which the change could be merged, if supported; else unset.

def isPullRequest = env.CHANGE_TARGET == 'master'  

isPullRequest 在创建拉取请求并与 master 合并时应解析为 true,或者在创建拉取请求时 isPullRequest 为 true?

最佳答案

在我们的例子中,对于由 Bitbucket 中的提交触发的多分支管道项目,我们只需测试分支名称:

stages {
    stage('Build') {
        steps {
            script {
                if (BRANCH_NAME ==~ /PR-.*/)) {
                    ...
                }
            }
        }
    }
}

关于Jenkins 环境变量 - 检测拉取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60616238/

相关文章:

jenkins - 如何将 curl 响应捕获到 Jenkinsfile 中的变量中

jenkins - 如何使用 jenkins 声明式管道添加条件构建后操作?

java - Jenkins API : issues with tree filter in java

jenkins - 获取 email-ext 脚本模板以与 Jenkins 管道配合使用

jenkins - 如果只有一个阶段失败,为什么 Jenkins 管道阶段 View 在所有阶段都显示红色?

jenkins - Jenkins + Gradle + Artifactory:无法读取生成的构建信息

jenkins - 如何更改 Jenkins 声明式管道环境变量?

docker - Jenkins 管道 - docker-compose 的环境变量

jenkins - 如何在本地编译 Jenkins Pipeline Groovy?

bash - 如何在解析的 Jenkinsfile 变量末尾去除某种形式的换行符