重命名Bitbucket Server仓库后Webhook无法触发Jenkins任务
解决Bitbucket Server仓库重命名后Jenkins Webhook不触发的问题
核心原因
Bitbucket Server仓库重命名后,bitbucket-push-and-pull-request插件并非仅依赖仓库URL识别关联,而是绑定了仓库的UUID或内部仓库键(Repository Key)。仅修改Jenkins任务的仓库URL,插件无法自动更新关联关系,导致Webhook触发失败。
具体解决步骤
获取Bitbucket仓库的UUID与仓库键
- 登录Bitbucket Server,进入重命名后的仓库,点击左侧菜单的「设置」
- 在「仓库详情」页面中,找到并记录UUID和仓库键的值
更新Jenkins任务的Bitbucket关联配置
- 打开对应Jenkins任务的配置页面
- 定位到
bitbucket-push-and-pull-request插件的配置区域,除了修改仓库URL外,手动填入刚才记录的UUID或仓库键(根据插件配置项显示选择),保存配置
重建Bitbucket Webhook并验证
- 在Bitbucket仓库的Webhook设置中删除旧的Webhook
- 创建新Webhook,确保Payload URL指向Jenkins的Webhook端点(通常为
http://<你的Jenkins地址>/bitbucket-hook/) - 勾选需要触发的事件(如代码推送、PR创建/更新),保存后点击「发送测试请求」,确认Jenkins能接收并处理请求
清理Jenkins插件缓存(必要时)
- 进入Jenkins「系统管理」→「插件管理」→「高级」
- 点击「立即清理」清除插件缓存,随后重启Jenkins服务,确保配置生效
排查Webhook请求日志
- 在Bitbucket的Webhook详情页,查看「最近的请求」,确认请求是否发送成功、是否有404/403等错误
- 若出现权限问题,检查Jenkins访问Bitbucket仓库的权限,或确认Webhook的Payload URL无访问限制
注意事项
- 手动构建正常仅代表Jenkins能拉取仓库代码,但Webhook触发依赖插件与Bitbucket的唯一关联(UUID/仓库键),二者逻辑独立
- 仓库重命名后UUID不会改变,这是插件识别仓库的核心标识
内容的提问来源于stack exchange,提问作者airdata
相关产品推荐
相关产品推荐

