Jenkins Multibranch管道拉取请求

时间:2020-07-29 16:52:16

标签: jenkins jenkins-pipeline multibranch-pipeline

我正在使用多分支管道进行pullrequest。创建PR时,它将触发pullrequest作业。无论如何,是否仅在特定的拉取请求(而不是全部)上触发作业。 例子:我有三个分支,fb和master。我只想在创建从develop到master的pull request时触发作业,而不是在创建从fb到develop或fb到master的pullrequest时触发作业。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可能需要运行管道,分析基础分支,并在基础分支不符合您的喜好时停止。

如果分支是请求请求,则由github分支源插件设置环境变量CHANGE_ID

如果已设置,则可以浏览名为pullRequest的全局对象,例如像这样:

    if (env.CHANGE_ID) {
        echo("Looking for PR: PR detected, change id is ${env.CHANGE_ID}")
        def prBase = pullRequest.base
        if (prBase != 'master') {
            currentBuild.result = 'ABORTED'
            error("This PR is over ${prBase} branch, not 'master'. Aborting.")
        }
    }
相关问题