You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitbucket Cloud集成Jenkins时Webhook触发构建报Git认证失败

核心报错定位

从触发失败的构建日志中,可以提取三个关键信息:

The recommended git tool is: NONE
No credentials specified
stderr: remote: Bitbucket Cloud recently stopped supporting account passwords for Git authentication.
fatal: Authentication failed for 'https://bitbucket.org/path/to.git/'

问题根因

自动触发构建时,Jenkins执行远端分支校验(git ls-remote操作)的环节没有加载到有效的Bitbucket认证凭证,触发了Bitbucket Cloud的账号密码认证拦截规则,最终返回128状态码的认证失败错误。
手动触发构建能正常拉取代码,是因为手动触发链路直接复用了任务源码管理模块配置的有效凭证,而Webhook自动触发的分支检测/轮询链路没有正确关联对应凭证,两个触发链路的凭证加载逻辑不一致。

分步解决方案
  • 校验任务Git凭证配置
    打开对应Jenkins任务的配置页,进入「源码管理-Git」板块:
    1. 确认仓库HTTPS地址填写正确
    2. Credentials下拉项不能留空,必须选中提前配置好的Bitbucket认证凭证——注意凭证密码不能使用Bitbucket账号的登录密码,必须使用个人设置页生成的App Password,且生成App Password时要开通对应仓库的读写权限
    3. 点击凭证旁的连接验证按钮,确认凭证可正常连通Bitbucket仓库后保存配置
  • 替换触发方式避免凭证丢失
    如果你当前是用「Poll SCM」+ 空轮询规则配合Webhook触发,建议直接替换为Bitbucket插件的专属触发规则:安装Bitbucket Plugin后,在构建触发器板块勾选「Build when a change is pushed to Bitbucket」,该触发链路会强制复用源码管理模块配置的Git凭证,不会出现自动触发时凭证为空的问题。
  • 排查全局凭证冲突
    进入Jenkins全局凭证管理页,如果存在多个绑定bitbucket.org域名的旧凭证(比如之前存储的已失效的账号密码凭证),直接删除失效凭证,或将当前任务使用的有效App Password凭证优先级调高,避免自动触发时匹配到错误的旧凭证。
  • 清理工作空间缓存
    进入对应任务的工作空间目录,删除残留的.git临时缓存文件,重新加载任务配置,避免旧的无凭证缓存被自动触发逻辑读取。
验证方法

完成上述配置后,向Bitbucket对应仓库推送一次测试提交,查看构建日志:如果不再出现No credentials specified提示,且git ls-remote操作正常返回提交哈希、后续代码拉取流程无报错,即为修复完成。

内容的提问来源于stack exchange,提问作者RK0703

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 23:06:23