我有一个Jenkins工作,使用GitHub插件挂钩到GitHub仓库 . 它将成功构建推送到任何功能分支或主分支 . 但是,我偶尔需要手动或按计划触发此构建 . 当手动或按计划触发时,我想提供一个特定的分支来构建作为作业参数 .

我发现使用GitHub插件源代码管理设置我可以在提交时触发或触发手动指定分支,但不能同时触发 .

我一直在搞乱Branch to Build部分,并有以下内容:

:\Q${sha1}\E|origin\/dev|origin\/integration|origin\/master|origin\/feature.{0,}

这将成功触发提交或Pull请求到dev,集成,主分支或以'feature'开头的任何分支

我在作业中有一个名为 $BRANCH 的参数(我也尝试了 $GIT_BRANCH ,它似乎是由GitHub插件设置的)我添加了一个分支说明符

origin\/$BRANCH

只要前一个分支说明符不存在,这将在手动触发时成功构建指定的分支

我还尝试将第二个分支说明符与 | 添加到第一个分支说明符,并且只支持第一个分支说明符,这意味着手动构建触发器将构建最后一个分支提交而不是请求的分支 .

我已经看到其他帖子建议将其分成两个不同的工作,但我真的想避免每个git repo有多个工作 . 有什么建议如何在一份工作中做到这一点?