Jenkins git commit for specific branch触发器也为其他分支生成作业

Jenkins git commit for specific branch触发器也为其他分支生成作业,git,github,jenkins,Git,Github,Jenkins,我们有一个内部企业Github repo,我有多个功能分支。 我面临在特定分支上触发构建的问题。 我已经为每个功能分支配置了作业。一个功能分支有一个jenkins工作。 我第一次提交代码时,它还会触发其他分支作业的构建 重现问题的步骤: 1.我们有一个企业内部Github。对于我的回购,我为github设置了webhook,如下所示 Settings -> Webhooks & Services -> Services Select Jenkins (GitHub plu

我们有一个内部企业Github repo,我有多个功能分支。 我面临在特定分支上触发构建的问题。 我已经为每个功能分支配置了作业。一个功能分支有一个jenkins工作。 我第一次提交代码时,它还会触发其他分支作业的构建

重现问题的步骤:

1.我们有一个企业内部Github。对于我的回购,我为github设置了webhook,如下所示

 Settings -> Webhooks & Services -> Services
 Select Jenkins (GitHub plugin) 
 Jenkins Hook Url: http://************/jenkins/github-webhook/
2.对于我在github repo中的3个分支:branch1、branch2、branch3,我在jenkins中创建了三个作业:Job1、Job2、Job3,SCM配置如下

Source Code Management:
Repo URL: git@********/********.git
Branches to Build: refs/heads/BRANCH_NAME

Build Trigger: Build when a change is pushed to GitHub
3.向我的分支提交代码时:branch1。它触发了詹金斯所有的3个工作:工作1,工作2,工作3。 注意:这是第一次触发作业

4.第二次向分支提交代码时:branch1。在詹金斯,它只触发Job1

这似乎是第一次为回购协议执行所有作业,而不管分支机构是什么

有关我的jenkins设置的详细信息:jenkins版本:1.565.1,GitHub插件:1.9.1

感谢您为解决此问题提供的任何帮助/指导


仅供参考:我尝试了列出的步骤

使用follow命令生成脚本(假设您的github是linux)

curlhttp://yourserver/jenkins/git/notifyCommit?url=
将此脚本放入./git/hooks

在你的jenkins工作改变了

来自 “将更改推送到GitHub时生成”

“轮询SCM”


不要在轮询SCM中创建任何计划

使用URL上的&branchs=branchname:
curl http://yourserver/jenkins/git/notifyCommit?url=<URL of the Git repository>