从GitLab Web钩子触发Jenkins构建以进行合并请求
我希望Jenkins(1.561)构建由合并请求Web挂钩触发的提交到GitLab(6.7.5)的合并(拉)请求。我有一个参数化的构建,以及Jenkins插件“ GitLab合并请求生成器”(1.2.0)和“ GitLab挂钩”(1.0.0)。不幸的是,迁移到Jenkins CI并不是一个现实的选择。 只要变量,和可用,合并请求构建器插件就可以构建合并请求。当插件轮询存储库本身时,或者当我使用手动有效负载(例如)触发构建时,这种方法效果很好,但是我无法通过钩子来完成。gitlabMergeRequestIdgitlabTargetBranchgitlabSourceBranchcurl --data "gitlabMergeRequestId=3&so_on http://server_name/job/$JOB_NAME/buildWithParameters 使用GitLab Hook插件,我能够在JSON有效负载中获取必要的数据,但是值具有“错误”键: gitlabMergeRequestId 是 id gitlabTargetBranch 是 target_branch gitlabSourceBranch 是 source_branch 我尝试使用GitLab合并请求生成器插件的要求配置构建参数,将Name变量值配置为Default Value。不幸的是(可能是有意的),Default Value字段中的变量没有被替换,因此Jenkins正在寻找具有id ${id}和类似分支值的合并请求。 我没有找到配置从GitLab发送的有效负载的方法,并且既没有GitLab Hook插件的配置选项,也没有GitLab Merge Request Builder插件使用的参数名称的配置选项。 我正在考虑编写一个小的PHP脚本,以在将其传递给Jenkins之前拦截并更改POST中的有效负载。尽管我确信这将奏效,但它显然似乎不必要地复杂。 我可以看到的唯一其他真正的选择是更改插件的来源,但这使升级它们成为PITA。 我是否忽略了一些显而易见的事情,或者真的没有一种更简单的方法来触发从GitLab到Jenkins的Web挂钩触发Merge Request构建?