Discourse GitHub Allows staff to assign badges to users based on GitHub contributions. Also allows users to create Github Linkbacks and Permalinks
Install Guide
This plugin is bundled with Discourse core. There is no need to install the plugin separately.
Features
Github Badges
Assign badges to your users based on GitHub contributions.
How to use:
Enable github badges enabled in Settings -> Plugins.
Generate a GitHub access token and paste it into the github linkback access token setting. See below for instructions.
Add one or more URLs of the GitHub repos to scan for contributions to the github badges repos site setting.
How badge counting works:
Badges count commits across all repositories, and when a user contributes to multiple repos, all their commits are added together into one total count.
Committer Badges:
Bronze: 1 commit
Silver: 25 commits
Gold: 1000 commits
Badge Progression: As users accumulate more contributions across any of the tracked repositories, they automatically progress through badge tiers. For example, if a user commits to Repo A and then Repo B, both contributions count toward their total, allowing them to progress from Bronze to Silver to Gold.
Github Linkback
Create a link from a Github pull request or commit back to a Discourse post where it is mentioned.
Enable github permalinks enabled in Settings -> Plugins.
Configuration
GitHub Access Token
In order for the linkback feature to work and the badges to be granted to your users, you need to provide a Github access token. You can generate your token here: Sign in to GitHub · GitHub.
The linkback feature requires the public_repo scope, and granting badges requires no scope (leave everything unchecked if you only want badges). Since the public_repo scope grants write access to repositories, we recommend you create a throwaway Github account that has access to no repositories and use it just to generate a token.
I wonder if commits and PRs badges could be simplified because we are trying to keep away The paradox of choice
Currently I just forked and deleted commit badges but of course, I loss myself from the commit badge (because I’m commiting directly) and fork is not equal to keeping always with the core.
The wildcard * didn’t work for me for a GitHub organization, I ended up putting in every repo individually. Has anyone else had issues with this with an organization vs. a user?
Feature Request: exclude categories and/or tags from linkback
We have an Announcements category into which the RSS Plugin automatically pulls new GitHub releases. When the release notes link to issues, that link also appears in Discourse and a linkback is created, but one that is not helpful to anyone, creating clutter on Github.
I would like to be able to exclude certain posts, i.e. categories or tags or even just posts from the user that is configured in the RSS Plugin, from creating linkbacks.
This plugin is now bundled with Discourse core as part of Bundling more popular plugins with Discourse core. If you are self-hosting and use the plugin, you need to remove it from your app.yml before your next upgrade.