Github-Badges funktionieren nicht. Es ist schwer zu erkennen, ob ich etwas falsch gemacht habe oder ob das Plugin nicht funktioniert.

Es scheint, als gäbe es keine Möglichkeit, Issues hinzuzufügen zu:

Irgendwie funktionieren die Badges nicht. Habe ich etwas falsch gemacht?
Brauchen Sie die tatsächliche URL zum Klonen des Repositories oder die Projekt-URL?
Könnten Sie ein Beispiel für mögliche URLs in die README-Datei aufnehmen?
Kann ich einfach eine Organisation hinzufügen, und alle öffentlichen Repositories werden dann für die Badges berücksichtigt?
Gibt es eine visuelle Rückmeldung, die mir anzeigen kann, ob ich etwas richtig oder falsch mache?

Können Sie auch genau erklären, wie Sie die Zuordnung des Benutzers zu den GitHub-Commits vornehmen? Funktioniert dies über einen E-Mail- oder Namensabgleich? Was soll ich meiner Community mitteilen, um GitHub-Badges zu erhalten? Müssen sie sich über GitHub anmelden?

Entschuldigen Sie bitte die Verzögerung bei der Beantwortung Ihrer Frage. Ich teste das Plugin derzeit, indem ich es gemäß dieser Anleitung konfiguriere: https://meta.discourse.org/t/discourse-github/99895.

Ein Unterschied zwischen der Anleitung und der README-Datei des Plugins besteht darin, dass in der Anleitung erwähnt wird, dass ein GitHub-Zugriffstoken generiert werden muss, um Badges zu vergeben. Dieses Zugriffstoken muss vor der Vergabe von Badges in die Site-Einstellung github linkback access token Ihres Sites eingetragen werden.

Um ein Zugriffstoken zu erstellen, gehen Sie zu Sign in to GitHub · GitHub. Wenn Sie das Token nur zur Vergabe von Badges verwenden, müssen Sie wahrscheinlich keine Berechtigungen (Scopes) auswählen. Scrollen Sie einfach nach unten auf der Seite und klicken Sie auf die Schaltfläche „Generate Token".

Die andere Einstellung, die für Badges erforderlich ist, ist die Site-Einstellung github badges repo. Geben Sie die vollständige URL jedes Ihrer GitHub-Repositories ein, für die Badges vergeben werden sollen. Die URL, die Sie in der Adressleiste Ihres Browsers sehen, funktioniert dafür.

Das Plugin erstellt 6 Badges:

  • Contributor
  • Great contributor
  • Amazing contributor
  • Committer
  • Frequent committer
  • Amazing committer

Die ersten drei Badges in der Liste sind standardmäßig aktiviert, sobald sie vom Plugin erstellt werden. Die letzten drei Badges müssen manuell über Ihre Admin-/Badges-Seite aktiviert werden.

Die Anzahl der Commits, die für die Badges „Frequent committer" und „Amazing committer" erforderlich sind, kann über die Site-Einstellungen github silver badge min commits und github gold badge min commits festgelegt werden.

Ein letzter Hinweis zu den Badges: Sie werden über einen Hintergrundjob vergeben, der alle 4 Stunden ausgeführt wird. Das bedeutet, dass Sie bis zu 4 Stunden Verzögerung zwischen dem Zeitpunkt, an dem der Benutzer auf GitHub aktiv war, und dem Zeitpunkt der Badge-Vergabe erwarten können.

Benutzer werden anhand der E-Mail-Adresse des GitHub-Commits gefunden. In den meisten Fällen handelt es sich dabei um die E-Mail-Adresse des Benutzers. Bei Benutzern, die Git so konfiguriert haben, dass die GitHub-No-Reply-E-Mail-Adresse (<username>@users.noreply.github.com) verwendet wird, versucht das Plugin, den Benutzer anhand des Benutzernamens-Teils dieser E-Mail-Adresse zu finden. Dies geschieht durch eine Suche in der Discourse-Tabelle GithubUserInfo nach einer Übereinstimmung des Benutzernamens. Benutzer werden auf diese Weise nur gefunden, wenn sie zuvor über GitHub bei Discourse eingeloggt waren.

Ich untersuche auch die Linkback-Funktionalität des Plugins. Ich werde die README-Datei des Plugins und den Plugin-Leitfaden auf Meta sehr bald aktualisieren.

Wenn Sie das Plugin auf einer von uns gehosteten Site konfigurieren, können Sie durch eine E-Mail an die Support-Adresse, die auf dem Admin-Dashboard Ihrer Site angegeben ist, privaten Support erhalten.

Vielen Dank für diese detaillierte Erklärung. Das hat wirklich sehr geholfen.

Ich habe einen Vorschlag für eine Plugin-Erweiterung, die wahrscheinlich nicht allzu schwer umzusetzen ist. Als Admin kenne ich wichtige Ingenieure, mit denen mein Team auf GitHub und im Forum interagiert. Wir kennen also beide Identitäten. Meinen Sie, es wäre möglich, einen Discourse-Benutzer manuell über die Plugin-Einstellungen einem GitHub-Konto zuzuordnen? Auf diese Weise könnte das Plugin auch dann aktiviert werden, wenn es den Benutzer nicht automatisch findet.