Les badges GitHub ne fonctionnent pas. Il est difficile de savoir si j'ai fait une erreur ou si le plugin ne fonctionne pas.

Il semble qu’il n’y ait aucun moyen d’ajouter des problèmes à :

D’une manière ou d’une autre, les badges ne semblent pas fonctionner. Est-ce que je fais quelque chose de mal ?
Faut-il l’URL de clonage réelle du dépôt ou l’URL du projet ?
Pouvez-vous ajouter un exemple d’URL possibles dans le fichier README ?
Puis-je simplement ajouter une organisation et tous les dépôts publics seront-ils pris en compte pour les badges ?
Y a-t-il un retour visuel qui pourrait m’indiquer si je fais quelque chose de mal ou de bien ?

Pouvez-vous également expliquer exactement comment vous établissez le lien entre l’utilisateur et les commits GitHub ?

Cela fonctionne-t-il par correspondance d’adresse e-mail ou par correspondance de nom ? Que dois-je dire à ma communauté pour qu’elle gagne des badges GitHub ? Doivent-ils se connecter via GitHub ?

Désolé pour le délai de réponse à votre question. Je teste actuellement le plugin en le configurant selon ce guide : https://meta.discourse.org/t/discourse-github/99895.

Une différence entre le guide et le README du plugin est que le guide indique qu’un jeton d’accès GitHub doit être généré pour que les badges soient attribués. Ce jeton d’accès doit être ajouté au paramètre « github linkback access token » de votre site avant que les badges ne soient attribués.

Pour créer un jeton d’accès, rendez-vous sur Sign in to GitHub · GitHub. Si vous utilisez uniquement ce jeton pour attribuer des badges, vous n’avez pas besoin de sélectionner de portées. Faites simplement défiler la page jusqu’en bas et cliquez sur le bouton « Generate Token ».

L’autre paramètre à configurer pour les badges est le paramètre du site « github badges repo ». Saisissez l’URL complète de chacun de vos dépôts GitHub pour lesquels vous souhaitez que des badges soient attribués. L’URL affichée dans la barre d’adresse de votre navigateur fonctionnera à cet effet.

Le plugin crée 6 badges :

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

Les trois premiers badges de la liste sont activés automatiquement lors de leur création par le plugin. Les trois derniers badges de la liste doivent être activés manuellement depuis votre page Admin / Badges.

Le nombre de commits requis pour les badges « Frequent committer » et « Amazing committer » peut être défini à l’aide des paramètres du site « github silver badge min commits » et « github gold badge min commits ».

Une dernière chose à noter concernant les badges est qu’ils sont attribués via un tâche en arrière-plan exécutée toutes les 4 heures. Cela signifie que vous pouvez vous attendre à un délai d’au maximum 4 heures entre le moment où l’utilisateur a été actif sur GitHub et le moment où le badge lui est attribué.

Les utilisateurs sont identifiés en fonction de l’adresse e-mail du commit GitHub. Dans la plupart des cas, il s’agira de l’adresse e-mail de l’utilisateur. Pour les utilisateurs ayant configuré Git pour utiliser l’adresse e-mail sans réponse de GitHub (<username>@users.noreply.github.com), le plugin tente de trouver l’utilisateur en se basant sur la partie nom d’utilisateur de cette adresse e-mail. Il le fait en recherchant une correspondance de nom d’utilisateur dans la table Discourse GithubUserInfo. Les utilisateurs ne seront trouvés de cette manière que s’ils se sont précédemment connectés à Discourse via GitHub.

Je travaille également sur la fonctionnalité de retour vers le lien du plugin. Je mettrai à jour le README du plugin et le guide du plugin sur Meta très prochainement.

Si vous configurez le plugin sur un site que nous hébergeons, vous pouvez bénéficier d’un support privé en envoyant un e-mail à l’adresse de support indiquée sur le tableau de bord d’administration de votre site.

Merci beaucoup pour cette explication détaillée. Cela m’a vraiment beaucoup aidé.

J’ai une suggestion pour une fonctionnalité de plugin qui ne devrait probablement pas être trop difficile à mettre en œuvre. En tant qu’administrateur, je connais certains ingénieurs clés avec lesquels mon équipe interagit sur GitHub et sur le forum. Nous connaissons donc les deux identités. Pensez-vous qu’il serait possible de lier manuellement un utilisateur Discourse à un compte GitHub via les paramètres du plugin ? Cela permettrait d’activer ce plugin même lorsque l’utilisateur ne peut pas être trouvé automatiquement.