如何批量为多个Bitbucket代码仓库授予用户访问权限
Bitbucket批量配置仓库权限解决方案
一、UI端批量操作方案
- 若你使用Bitbucket Cloud:进入对应工作区的「访问管理」页面,筛选所有私有仓库后可批量勾选,直接添加目标用户并选择读取权限后提交即可,不需要单独进入每个仓库配置。
- 若你使用Bitbucket Server/Data Center:如果100多个仓库归属同一个项目,直接在项目级权限配置中给目标用户授予读取权限,项目下所有仓库会自动继承该权限,无需额外配置仓库级权限;如果仓库分散在多个项目,也可以在全局仓库列表页批量选中目标仓库后统一配置权限。
二、Bash+curl调用API批量配置方案
该方案适配所有Bitbucket版本,灵活度更高,适合仓库数量多、分布零散的场景。
前置准备
你需要先生成个人访问令牌(PAT),令牌需要开启仓库权限读写的相关授权范围。
参考脚本
# 替换为你的Bitbucket域名,Cloud版本为api.bitbucket.org/2.0 BITBUCKET_DOMAIN="https://your-bitbucket-domain.com/rest/api/1.0" # 替换为你的个人访问令牌 PAT="your-personal-access-token" # 替换为目标用户的账号名 TARGET_USER="target-username" # 替换为要授予的权限,读取权限对应'repo_read' PERMISSION="repo_read" # 第一步:拉取所有你有权限管理的私有仓库列表,提取仓库的project key和repo slug curl -s -H "Authorization: Bearer $PAT" "$BITBUCKET_DOMAIN/repos?limit=1000" | jq -r '.values[] | select(.is_private == true) | .project.key + "/" + .slug' > repo_list.txt # 第二步:循环给每个仓库授予目标用户读取权限 while read repo; do echo "正在配置仓库 $repo 的权限..." curl -s -X PUT -H "Authorization: Bearer $PAT" -H "Content-Type: application/json" \ "$BITBUCKET_DOMAIN/projects/${repo%/*}/repos/${repo#*/}/permissions/users?name=$TARGET_USER&permission=$PERMISSION" echo "配置完成" done < repo_list.txt
注意:脚本依赖
jq工具处理JSON返回结果,运行前请先确保环境已安装该工具。如果是Bitbucket Cloud版本,接口路径需要对应调整为Cloud版本的REST API规则。
内容的提问来源于stack exchange,提问作者Mikhail V.
相关产品推荐
相关产品推荐

