如何将GitHub私有仓库集成到Gerrit服务器?遇Scope问题求助
解决Gerrit与GitHub私有仓库集成问题的建议
1. 检查GitHub OAuth应用的权限范围
- 登录GitHub,进入「Settings > Developer settings > OAuth Apps」,找到你为Gerrit创建的OAuth应用
- 在「Scopes」区域,确保勾选了
repo权限(该权限包含访问私有仓库的权限),保存设置 - 回到Gerrit,退出当前GitHub登录后重新登录,让Gerrit获取新的权限令牌
2. 配置Gerrit GitHub插件的可选权限范围
- 打开Gerrit服务器上的
etc/github.config配置文件 - 添加或修改
scopes配置项,示例:[github] scopes = repo,user:email - 重启Gerrit服务,再次点击「使用不同GitHub Scope登录」,此时应该会显示可选的权限范围选项
3. 验证仓库列表同步
- 权限配置完成后,在Gerrit的GitHub集成页面点击「刷新仓库列表」,私有仓库应该会出现在列表中
- 如果仍未显示,可在Gerrit服务器上执行测试命令验证API访问(替换
YOUR_TOKEN为Gerrit获取的令牌):
若能返回私有仓库列表,说明权限正常,再检查Gerrit插件的同步逻辑。curl -H "Authorization: token YOUR_TOKEN" https://api.github.com/user/repos?visibility=private
关于GitHub免费版的说明
GitHub免费版完全支持私有仓库与Gerrit的集成,无需升级到付费版本,你的问题核心在于权限配置或插件设置,而非账号版本限制。
内容的提问来源于stack exchange,提问作者AriJang
相关产品推荐
相关产品推荐

