GitLab pipeline触发器通过webhook调用返回404的问题排查
问题根因
你调用的接口路径不符合GitLab官方触发器API的规范,这是404错误的直接原因。
GitLab 项目Pipeline触发器的官方接口固定路径为 /api/v4/projects/:项目ID/trigger/pipeline,所有参数(包括分支名ref、触发器token)都必须通过POST请求的Form表单参数或者URL的Query参数传递,不能把ref分支名直接拼到接口路径中。
你错误地将ref/main拼接在了项目ID和接口路径中间,导致GitLab无法识别该路由,返回404错误。
调整方案
你直接使用之前测试正常的正确路径配置webhook即可,webhook请求方式选择POST,有两种可选配置方式:
方式1:直接使用带Query参数的URL
将以下地址填到webhook的请求地址栏即可,无需额外配置请求体:
https://%mygitlab%/api/v4/projects/82/trigger/pipeline?token=%myToken%&ref=main
方式2:基础URL加Form参数
请求URL填基础路径:https://%mygitlab%/api/v4/projects/82/trigger/pipeline
额外配置两个POST Form参数:
token:值为你的触发器token%myToken%ref:值为要触发的分支名main
可选排查项(配置正确仍报错可检查)
- 确认触发器token未过期,且所属项目ID确实为82
- 确认项目中存在main分支,没有被重命名为其他名称(如master)
- 确认你的GitLab实例版本不低于9.0,该版本才正式支持触发器API
内容的提问来源于stack exchange,提问作者Tadeusz
相关产品推荐
相关产品推荐

