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