Ich baue eine GitHub-Anwendung, um Commit-Informationen aus unseren internen Repos zu ziehen. Ich verwende den folgenden Code alle Commits iterieren:Empfohlene Möglichkeit, alle Repos/Commits für einen bestimmten Benutzer mit github3.py aufzulisten
gh = login(token=gc.ACCESS_TOKEN)
for repo in gh.iter_repos():
for commit in repo.iter_commits():
print(commit.__dict__)
print(commit.additions)
print(commit.author)
print(commit.commit)
print(commit.committer)
print(commit.deletions)
print(commit.files)
print(commit.total)
Die Zugänge/Löschungen/Gesamtwerte alle kommen zurück als 0
sind, und die Dateien-Attribut ist immer []. Wenn ich auf die URL klicke, kann ich sehen, dass dies nicht der Fall ist. Ich habe über curl
Aufrufe verifiziert, dass die API tatsächlich über diese Attribute verfügt.
Lesen Sie mehr in der Dokumentation, es scheint, dass iter_commits
ist veraltet zugunsten iter_user_commits
. Könnte das der Fall sein, warum es nicht alle Informationen über die Commits zurückgibt? Allerdings ist diese Methode keine Endlager für mich zurück, wenn ich es wie folgt verwendet werden:
gh = login(token=gc.ACCESS_TOKEN)
user = gh.user()
for repo in gh.iter_user_repos(user):
Kurz gesagt, ich frage mich, was die empfohlene Methode, alle Commits für alle Repositorys zu bekommen, ist ein Benutzer Zugriff hat .
Ah, verpasste die 'refresh' Methode. Vielen Dank! – flybonzai