需求:通过API更新Bamboo计划分支关联的仓库分支字段
解决Bamboo计划分支仓库分支自动更新的API方案
步骤1:获取计划分支的仓库ID
首先需要获取目标计划分支下所有关联仓库的repositoryId,调用以下API:
- 请求方法:
GET - 路径:
/rest/api/latest/plan/{planKey}/branch/{branchName}/repositories - 示例命令:
curl -u 用户名:密码 "https://你的Bamboo地址/rest/api/latest/plan/PROJ-MAIN/branch/release_1_0_0/repositories"
返回的JSON数据中,每个仓库条目会包含repositoryId(数字ID)和当前关联的branch字段,记录需要更新的仓库ID。
步骤2:更新仓库的关联分支
针对每个需要更新的仓库ID,调用PUT API修改分支配置:
- 请求方法:
PUT - 路径:
/rest/api/latest/repository/{repositoryId} - 请求头:
Content-Type: application/json - 请求体:
{"branch": "release_x_x_x"}(替换为目标分支名) - 示例命令:
curl -u 用户名:密码 -X PUT -H "Content-Type: application/json" -d '{"branch": "release_1_0_0"}' "https://你的Bamboo地址/rest/api/latest/repository/12345"
注意事项
- 确保调用API的账号拥有计划编辑权限或Bamboo管理员权限;
- 若你的Bamboo版本较低,可能需要改用
selectedBranch字段替代branch,请求体改为{"selectedBranch": "release_x_x_x"}; - 多仓库场景下,需对每个仓库ID分别执行更新操作。
内容的提问来源于stack exchange,提问作者sunilkj
相关产品推荐
相关产品推荐

