Mar*_*ann 10 hook continuous-integration jenkins gitlab
我希望 Jenkins (1.561) 构建提交到 GitLab (6.7.5) 的合并(拉取)请求,由合并请求 Web 钩子触发。我有一个参数化构建,以及 Jenkins 插件“GitLab Merge Request Builder”(1.2.0)和“GitLab Hook”(1.0.0)。不幸的是,迁移到 Jenkins CI 并不是一个真正的选择。
只要变量、 和可用,合并请求构建器插件就能够构建合并请求。当插件轮询存储库本身时,这很有效,或者我使用手动有效负载(例如)触发构建,但我无法使用钩子执行此操作。gitlabMergeRequestId
gitlabTargetBranch
gitlabSourceBranch
curl --data "gitlabMergeRequestId=3&so_on http://server_name/job/$JOB_NAME/buildWithParameters
使用 GitLab Hook 插件,我能够在 JSON 有效负载中获取必要的数据,但这些值具有“错误”的键:
gitlabMergeRequestId
是 id
gitlabTargetBranch
是 target_branch
gitlabSourceBranch
是 source_branch
我已经尝试使用 GitLab Merge Request Builder 插件的要求和变量值来配置构建参数。不幸的是(并且可能是故意的),字段中的变量没有被替换,因此 Jenkins 正在寻找具有 id和类似分支值的合并请求。Name
Default Value
Default Value
${id}
我发现无法配置从 GitLab 发送的有效负载,并且 GitLab Hook 插件和 GitLab Merge Request Builder 插件使用的参数名称都没有配置选项。
我正在考虑编写一个小的 PHP 脚本来拦截和更改来自 POST 的有效负载,然后再将其传递给 Jenkins。虽然我确信这会奏效,但它确实看起来不必要地复杂。
我能看到的唯一另一个真正的选择是更改插件的来源,但这使得将它们升级为 PITA。
我是否忽略了一些明显的东西,或者真的没有更简单的方法可以使用从 GitLab 到 Jenkins 的 Web 钩子触发合并请求构建?
归档时间: |
|
查看次数: |
20949 次 |
最近记录: |