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

使用curl触发BitBucket Pipeline返回Resource not found报错

问题排查与解决

这个Resource not found报错在手动触发正常、同工作区其他仓库同curl命令可正常运行的前提下,只会是当前新仓库缺以下对应配置,按优先级排查即可:

  • 最常见原因:仓库未开启API触发流水线的独立开关
    进入当前仓库的 Settings > Pipelines > Settings 页面,找到Enable API access to trigger pipelines选项勾选后保存。这个配置是仓库级独立开关,不会继承工作区、项目的全局设置,新建仓库默认处于关闭状态,你工作区里其他老仓库大概率是之前已经开过这个开关,所以同命令可以正常触发。
  • 次常见原因:请求参数和仓库实际配置不匹配
    两个参数任意一个写错都会返回资源不存在:
    1. 检查当前仓库bitbucket-pipelines.yml里定义的自定义流水线名称,是不是和curl里pattern字段的create-tenant完全一致,注意大小写、连字符、拼写不能有偏差,手动触发是从下拉列表选不会出错,API传字符串很容易写错
    2. 检查当前仓库默认分支是不是master,现在很多新建仓库默认分支是main,ref_name字段要和实际存在的分支名完全一致
  • 少见原因:账号权限不足
    确认你curl命令里用的账号,对这个新仓库至少持有Write及以上权限。Bitbucket API有权限校验的特殊逻辑:如果账号对目标仓库没有对应操作权限,不会返回403无权限,而是直接返回404资源不存在,避免泄露仓库存在信息。新仓库如果没单独给账号配权限,哪怕账号在工作区有其他仓库权限,也会触发这个报错。

连通性验证步骤

配置改完可以先去掉自定义流水线选择参数,先触发分支默认流水线验证API链路是否通,测试命令如下:

curl -X POST -is -u username:password \
        -H 'Content-Type: application/json' \
        https://api.bitbucket.org/2.0/repositories/workspace-name/repo-name/pipelines/ \
        -d '
        {
            "target": {
            "type": "pipeline_ref_target",
            "ref_type": "branch",
            "ref_name": "master"
       }}'

如果这个命令能正常返回流水线运行信息,再补全selector字段的自定义流水线参数即可。

你当前用的curl命令末尾带了路径斜杠,格式是对的,不需要调整这部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 03:20:02