我通过用户界面将foo/bar
的私有GitHub仓库重命名为foo/qux
后,如果我尝试获取
https://api.github.com/repos/foo/qux
我得到了404。
如果我通过旧名称(https://api.github.com/repos/foo/bar)请求,我会获得重定向。但总的来说,我没有以前的存储库名称可以使用,所以这不是一个选项。
我能想到的最佳解决方案是获取https://api.github.com/user/repos
,翻阅所有存储库并找到名为foo/qux
的存储库。但这很糟糕,我确信当我去https://github.com/foo/qux
时,GitHub UI不会这样做。那么是否有更简单的方法来获取名为foo/qux
的仓库的ID?
答案 0 :(得分:1)
我得到了404。
从“example-repository-redirects.md”和官方博文“Automatic redirects for renamed repositories”(2015年7月),您不应该。
几小时后再试一次,如果重命名后只有 404。
但是名为foo/qux
的repo 现在的ID应该是...... foo/qux
。
这意味着您不需要找到它的旧名称。
答案 1 :(得分:1)
即使您没有读取存储库本身的权限,GitHub API也会响应旧的私有存储库名称的重定向(这就是为什么我在获取404时的原因)以新名称甚至数字ID请求它。
这导致我错误地得出结论,API知道旧名称而不是新名称。
在个人身份验证令牌上选择“完全控制私有存储库”范围,您应该能够以新名称请求私有存储库。