GitLab Multi-Branch Task WebHook问题

在使用GitLab的多分支扫描任务的时候我想使用webhook遇到了一点问题。

前提:我在Jenkins中已经配置好了GitLab的webhook并且在GitLab上模拟push event是200成功的。
我不知道这样模拟会不会直接触发Jenkins任务,至少我模拟的成功的request Jenkins那边并没有触发任务。

并且涉及到webhook的选项在多分支任务里面我不清楚有没有,但是有一个扩展的配置项,但是我不确定那个配置项是否是跟webhook有关的。每一个分支的任务是有这个配置的,但是这些配置项只能查看,不能配置。

所以关于这方面的问题是否有朋友也踩过这个坑,如果解决的请提供一个解决方法吧。感谢~

只要你配置正确的,模拟push event必定是成功的。

先在 Jenkins 里勾选自动触发任务,把项目连接 Copy 到 GitLab 系统里。

GitLab 系统里要添加 Webhooks ,也就是 上面的触发连接。

点击 Test 就会自动触发构建。

点击 Test 触发个任务,效果如下:

Jenkins 系统马上就有构建,效果如下:

点击构建的项目,查看构建状态,效果如下:

谢谢,你提供的例子是基于free style/流水线任务的,我提到的多分支流水线还跟这个不一样,这个里面的配置没有涉及到webhook的配置项,或者说没有明确的涉及webhook的配置项。如果普通任务的话一般来说没有什么问题,我遇到的还不是一个情况。

你好! 我也遇见这个问题了
我是这么解决的用了多分支流水线之后发现不能进行webhook的形式触发了,只能是扫描分支的时候进行构建,提交代码和合并分支无法触发 经过百度之后 Jenkins多分支的webhookurl 的格式调整为:

http://{Jenkins的host}/git/notifyCommit?url={Multibranch Pipeline里面配置的项目地址}
就可以触发了 但是有个问题就是 不显示是谁 什么动作触发的

你好,请问你说的那个问题不显示谁,哪个动作触发的是指的在看控制台输出那里看的信息里面没有你说的这几个地方的内容吗?方便的话是否可以截一张图片看看?

自动触发的问题能解决了,但是遇到了新的问题:
因为是多分支的原因,我在gitlab上配置webhook的时候为每一个分支配置了一个webhook。但是,当我对其中一个分支进行push操作时,在jenkins multibranch task上其他的分支任务同样被触发了。
For example,我有一个A项目,下面有B C 两个分支,并且均已在gitlab上配置了相应的webhook,我将B分支进行了修改后进行了push操作,但是在jenkins上扫描出来的这两个任务会被同时触发。
所以想问下哪位朋友知道怎样配置这个地方的webhook能在push一个分支代码之后只触发多分支扫描任务中相应分支的任务?

这里需要设置默认分支

你好,这里默认设置了master分支,并且webhook也配置了master的webhook,master的push event我没有试过,但是这个问题是在我push另一个同一个项目的分支的时候出现的。我觉得这个地方应该关系不大。感谢你的解答。