Firebase App Distribution如何通过命令自动添加测试人员到指定测试组
问题描述
参考Firebase官方App Distribution iOS端CLI分发文档,使用如下命令邀请测试人员加入Firebase应用:
firebase appdistribution:testers:add anothertester@email.com moretesters@email
当前应用共维护两个测试人员分组,但上述命令仅能将测试人员添加到应用门户,无法将其归入对应测试组,需要找到可自动将测试人员添加到指定测试组的命令或实现方法。
目前已尝试两种方案均未成功:
- 尝试使用
firebase appdistribution:distribute命令支持的--group和--groups参数,执行后报错:unknown option '--groups' - 尝试调用Firebase App Distribution API的POST接口,未实现预期效果,调用接口如下:
POST /v1/{project=projects/*}/testers:batchAdd
可行解决方法
1. 升级Firebase CLI后使用groups参数
--groups参数未识别是因为本地Firebase CLI版本过低,先执行命令升级到最新版本:
npm install -g firebase-tools@latest
升级完成后,执行分发命令时带上--groups参数即可,多个分组用逗号分隔,命令执行时会自动把对应测试人员加入指定分组,同时发送测试邀请,示例:
firebase appdistribution:distribute 待分发的ipa包路径 \ --app 你的Firebase应用ID \ --groups "内部测试组,外部体验组" \ --release-notes "本次测试版本更新说明"
2. 调用对应分组的批量添加测试人员API
之前调用的testers:batchAdd接口是项目维度的全局添加测试人员接口,只会把人加到项目测试池,不会关联到具体分组。要把测试人员加到指定分组,需要调用分组维度的批量添加接口:
POST /v1/projects/{你的项目编号}/groups/{目标分组ID}/testers:batchAdd
请求体按如下格式传参:
{ "emails": ["tester1@example.com", "tester2@example.com"] }
请求头需要携带具备App Distribution操作权限的OAuth2.0令牌,权限范围覆盖云平台资源访问即可。
如果不知道分组ID,可以先调用分组列表接口拉取当前项目下所有测试组的ID和名称对应关系。
3. 结合已登录的gcloud环境快速调用接口
如果不想手动处理鉴权逻辑,可以在已登录对应谷歌账号的gcloud环境下,直接用curl调用接口自动获取访问令牌,示例:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "/v1/projects/你的项目ID/groups/你的分组ID/testers:batchAdd" \ -d '{"emails":["tester1@example.com","tester2@example.com"]}'
内容的提问来源于stack exchange,提问作者Rohith S
相关产品推荐
相关产品推荐

