Github V3 API: Mitwirkende auflisten

Lesezeit: 3 Minuten

Benutzeravatar von Dici
Dici

Ich habe das folgende Dokument gelesen (https://developer.github.com/v3/repos/#list-contributors), um Mitwirkende in einem Repository aufzulisten, an dem ich gearbeitet habe, und ich kann sehen, dass eine Person, die mehrere Commits durchgeführt hat, nicht erscheint, und ich selbst nur 3 Beiträge habe, während ich die meisten unserer 301 Commits gepusht habe.

Ich verstehe nicht wirklich, was dieser Endpunkt zurückgibt, aber es sieht nicht genau aus. Das Dokument ist nicht sehr detailliert darüber, weiß jemand etwas, das es erklären könnte?

  • Haben Sie mehr als 500 Mitwirkende? Macht Einstellung anon Zu true mehr Ergebnisse zurückgeben?

    – TriskalJM

    6. April 2016 um 17:24 Uhr

  • @TriskalJM Deine zweite Frage lässt mich glauben, dass du auf dem richtigen Weg warst. Ich füge die Antwort hinzu, die ich vom API-Support erhalten habe.

    – Dici

    6. April 2016 um 21:00 Uhr

Ich habe meine Frage an den Support der Github-API gesendet, und sie haben mir eine erstaunlich detaillierte Antwort gegeben. Hier ist es (gekürzt):

Es sieht so aus, als ob Ihre fehlenden Commits mit einer E-Mail-Adresse verfasst wurden, die nicht mit Ihrem GitHub-Profil verknüpft ist. Sie können die fehlende E-Mail finden, indem Sie „.patch“ an das Ende einer Commit-URL anhängen und dann auf die „From:“-Zeile schauen. Sobald Sie die E-Mail erhalten haben, können Sie sie mit Ihrem Profil verknüpfen, indem Sie diesen Anweisungen folgen:

https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user

Nachdem Sie Ihre E-Mail-Adresse mit Ihrem Konto verknüpft haben, werden alle gültigen fehlenden Beiträge nachgefüllt und neue sollten automatisch angezeigt werden.

Wenn ich mir zum Beispiel den Commit-Verlauf von Projet-merou ansehe:

https://github.com/jxw1102/Projet-merou/commits/master

Wenn ich das neueste Commit mit Ihrem GitHub-Benutzernamen als Autor auswähle und .patch wie folgt zur URL hinzufüge:

https://github.com/jxw1102/Projet-merou/commit/f5bf30243ab99efc40802d3d78c08e49839ec9c9.patch

Ich sehe das in der zweiten Zeile:

From: Dicee [email protected]

Durch das Hinzufügen dieser E-Mail werden alle fehlenden gültigen Beiträge ergänzt. Danach sollte der Aufruf der API das erwartete Ergebnis zeigen.

API-Endpunkte: Mitwirkende und Mitwirkenden-Statistiken

Ich habe unten einige Notizen zu jedem Endpunkt geschrieben. Lassen Sie mich wissen, wenn Sie Fragen haben!

/repos/:owner/:repo/contributors

Wenn du anrufst GET /repos/:owner/:repo/contributors, listet die GitHub-API Mitwirkende am angegebenen Repository auf, sortiert nach der Anzahl der Commits pro Mitwirkender in absteigender Reihenfolge. Contributors-Daten werden aus Leistungsgründen zwischengespeichert. Dieser Endpunkt kann Informationen zurückgeben, die einige Stunden alt sind. Git-Mitwirkende werden anhand der E-Mail-Adresse des Autors identifiziert. Diese API versucht, Beitragszahlen nach GitHub-Benutzer über alle zugehörigen E-Mail-Adressen hinweg zu gruppieren. Aus Leistungsgründen werden nur die ersten 500 Autoren-E-Mail-Adressen im Repository mit GitHub-Benutzern verknüpft. Der Rest wird als anonyme Mitwirkende ohne zugehörige GitHub-Benutzerinformationen angezeigt.

Wenn Sie diesen Endpunkt mit aufrufen anon=1 angegeben, gibt die API eine Anzahl aller Commits im Standard-Branch zurück, einschließlich Commits, die keinem Benutzer auf GitHub zugeordnet sind. Hier ist ein Beispiel:

https://api.github.com/repos/jxw1102/Projet-merou/contributors?anon=1

Wenn anon=1 ist nicht so angegeben:

https://api.github.com/repos/jxw1102/Projet-merou/contributors

Beachten Sie, dass die Ergebnisse nur Commits anzeigen, die mit einigen GitHub-Benutzern verbunden sind, und Merge-Commits nicht zählen.

/repos/:owner/:repo/stats/contributors

Wenn du anrufst GET /repos/:owner/:repo/stats/contributors, gibt die GitHub-API die Liste der Mitwirkenden mit Hinzufügungen, Löschungen und Commit-Zählern zurück. Die Gesamtzahl gibt die Gesamtzahl der Commits an, die vom Mitwirkenden verfasst wurden.

Hilft das?

Alles Gute,
Francis
@francisfuzz
GitHub-Unterstützung

Ich hatte das gleiche Problem, nachdem ich devel mit master zusammengeführt habe. Es fehlten Mitwirkende. Der GitHub-Support antwortete:

Das ist das erwartete Verhalten – bitte lesen Sie die Dokumentation für diesen Endpunkt:

https://developer.github.com/v3/repos/#list-contributors

„Dieser Endpunkt kann Informationen zurückgeben, die einige Stunden alt sind, da die GitHub REST API v3 Contributor-Daten zwischenspeichert, um die Leistung zu verbessern.“

Daher müssen Sie möglicherweise einige Stunden warten, um aktualisierte Daten zu erhalten.

1445660cookie-checkGithub V3 API: Mitwirkende auflisten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy