Node.js的bitbucket包创建分支时_body参数该如何正确使用
npm bitbucket包创建分支的_body参数正确构造方式
你构造的参数不合法的核心问题是target.hash字段不能传入"default",该字段仅接受完整的40位提交哈希值,不支持直接传分支别名或默认标识。
正确参数格式
基于指定提交哈希创建分支
const body = { "name": branchName, // 你要创建的新分支名 "target": { "hash": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0" // 目标提交的完整40位哈希 } }
基于现有分支最新提交创建分支
如果你需要基于默认分支/指定现有分支的最新版本创建新分支,需要先调用仓库分支查询接口获取对应分支的最新提交哈希,再填入上述结构中,完整调用逻辑如下:
// 1. 先获取目标分支(示例为main分支)的最新提交信息 const { data: branchData } = await bitbucket.repositories.getBranch({ workspace: '你的工作区ID', repo_slug: '你的仓库slug', name: 'main' // 要基于的源分支名 }) // 2. 构造创建分支的body参数 const createBranchBody = { name: branchName, target: { hash: branchData.target.hash } } // 3. 调用创建分支接口 await bitbucket.repositories.createBranch({ workspace: '你的工作区ID', repo_slug: '你的仓库slug', _body: createBranchBody })
注意事项
- 调用
createBranch接口时必须传入workspace、repo_slug两个路径参数,和_body请求体参数,三者缺一不可 - 新分支名不能和仓库内已有分支名重复,否则也会触发报错
内容的提问来源于stack exchange,提问作者MalkonzoArruters
相关产品推荐
相关产品推荐

