Windows环境GitLab+Jenkins webhook报403无有效crumb错误咨询
GitLab webhook触发Jenkins报403无有效crumb问题解决(含正确/project路径URL获取方法)
问题现象
- 配置GitLab webhook对接Jenkins时,触发请求返回错误:
HTTP ERROR 403 No valid crumb was included in the request - 已定位到错误核心是webhook填写的URL路径错误:错误路径用了
/job/前缀,正确的webhook触发路径需要用/project/前缀 - 部署环境说明:Jenkins部署在Windows系统上,服务根访问地址为
http://JENKINS_URL:8080/,当前不知道如何获取正确格式的http://JENKINS_URL:8080/project/YOUR_JOB路径URL
正确URL获取&配置步骤
/project/开头的触发路径是Jenkins GitLab插件提供的专用webhook端点,不需要手动拼接,按以下步骤操作即可直接获取可用地址:
- 确认GitLab插件已安装启用
- 进入Jenkins后台 → 打开【Manage Jenkins】→ 【Plugins】→ 【Installed plugins】列表,搜索
GitLab插件,确认插件已安装且处于启用状态;如果未安装,切换到【Available plugins】搜索安装后重启Jenkins服务即可。
- 进入Jenkins后台 → 打开【Manage Jenkins】→ 【Plugins】→ 【Installed plugins】列表,搜索
- 进入目标任务配置页
- 打开需要被GitLab触发的Jenkins任务详情页,点击左侧菜单栏的【Configure】选项进入配置界面。
- 开启GitLab触发选项获取专用URL
- 滚动页面找到【Build Triggers】配置块,勾选
Build when a change is pushed to GitLab选项 - 勾选完成后,选项下方会自动生成当前任务专用的webhook触发URL,格式就是要求的
http://JENKINS_URL:8080/project/你的任务名,如果任务存放在多级文件夹下,生成的URL会自动补全文件夹路径,直接复制这个地址即可,不要手动修改拼接。
- 滚动页面找到【Build Triggers】配置块,勾选
避坑提示:手动把原有任务详情页URL里的
job替换成project很容易在多级目录、特殊字符任务名场景下出错,直接复制插件生成的地址是最稳妥的方式。
- 补充配置避免403报错
- 点击触发器配置块里的【Advanced】展开高级配置,找到
Secret token项点击生成随机token,把这个token同步填写到GitLab webhook配置页对应的Secret token输入框中 - GitLab端保存webhook配置后,选择Push event做连通性测试,即可正常触发Jenkins构建,不会再出现无有效crumb的报错。
- 点击触发器配置块里的【Advanced】展开高级配置,找到
内容的提问来源于stack exchange,提问作者ZahidAsim
相关产品推荐
相关产品推荐

