2017-10-05 3 views
1

Nachdem ich einen privaten GitHub Repo foo/bar-foo/qux über die Benutzeroberfläche umbenannt habe, wenn ich versuche,Wie ein umbenannte privaten GitHub Repo über seinen neuen Namen für den Zugriff auf

https://api.github.com/repos/foo/qux 

ich ein 404.

bekommen zu bekommen

Wenn ich über den alten Namen (https://api.github.com/repos/foo/bar) Anfrage erhalte ich eine Umleitung. Aber im Allgemeinen habe ich nicht die vorherigen Repository-Namen, mit denen gearbeitet wird, so dass dies keine Option ist.

Die beste Lösung, die ich mir vorstellen kann, ist, https://api.github.com/user/repos, Seite durch alle Repos und finden Sie den Repo namens foo/qux. Aber das nervt, und ich bin mir sicher, dass die GitHub-Benutzeroberfläche dies nicht tut, wenn ich zu https://github.com/foo/qux gehe. Gibt es einen einfacheren Weg, die ID des Repos mit dem Namen foo/qux zu erhalten?

Antwort

1

Es scheint, dass die GitHub-API mit einer Umleitung für den alten privaten Repository-Namen antwortet, auch wenn Sie keine Berechtigung zum Lesen des Repository selbst haben (weshalb ich ein 404 bekam, als ich es von seinem anforderte neuer Name oder sogar seine numerische ID).

Dies führte mich fälschlicherweise zum Schluss, dass die API wusste über den alten Namen, aber nicht den neuen Namen.

Wählen Sie den Bereich "Vollständige Kontrolle der privaten Repositorys" auf dem persönlichen Authentifizierungs-Token aus, und Sie sollten in der Lage sein, ein privates Repository unter seinem neuen Namen anzufordern.

+0

Guter Fang ... +1 (auch zu https://Stackoverflow.com/a/46609122/6309) – VonC

1

ich 404.

Von "example-repository-redirects.md" und dem offiziellen Blog-Eintrag "Automatic redirects for renamed repositories" (Juli 2015) erhalten, sollten Sie nicht.

Versuchen Sie es erneut nach ein paar Stunden, falls es 404 war nur kurz nach ein Umbenennen.
Aber die ID des Repos jetzt mit dem Namen foo/qux sollte ... foo/qux sein.
Was bedeutet, dass Sie nicht seinen alten Namen finden müssen.

+0

Es stellte sich heraus, dass ich nicht die richtigen Berechtigungen hatte (anscheinend muss ich dem persönlichen Zugriffstoken die volle Kontrolle über die Repositories gewähren, wenn ich sogar private Repos lesen möchte). – Andy

Verwandte Themen