Discourse GitHub

:discourse2: 摘要 Discourse GitHub 允许管理员根据用户的 GitHub 贡献分配徽章。同时允许用户创建 GitHub 链接回传和永久链接
:open_book: 安装指南 此插件已捆绑在 Discourse 核心中,无需单独安装。

功能

GitHub 徽章

根据用户的 GitHub 贡献分配徽章。

使用方法:
  1. 在设置 -\u0026gt; 插件中启用 github badges enabled
  2. 生成 GitHub 访问令牌并将其粘贴到 github linkback access token 设置中。详见下方说明。
  3. github badges repos 站点设置中添加一个或多个要扫描贡献的 GitHub 仓库 URL。
徽章计数方式:

徽章计算所有仓库中的提交次数,当用户在多个仓库中做出贡献时,所有提交将合并为一个总数。

提交者徽章

  • 青铜:1 次提交
  • 银:25 次提交
  • 金:1000 次提交

徽章晋升:随着用户在任何跟踪仓库中积累更多贡献,他们将自动晋升到徽章等级。例如,如果用户在仓库 A 中提交,然后在仓库 B 中提交,所有贡献都会计入总数,从而使其从青铜晋升到银,再到金。

GitHub 链接回传

从 GitHub 的拉取请求或提交创建指向 Discourse 帖子的链接,该帖子中提到了该请求或提交。

使用方法:
  1. 在设置 -\u0026gt; 插件中启用 github linkback enabled
  2. 生成 GitHub 访问令牌并将其粘贴到 github linkback access token 设置中。详见下方说明。
  3. 最后,在 github linkback projects 站点设置中添加您希望发布到的项目,格式如下:
    • username/repository 用于特定仓库
    • username/* 用于某个用户的全部仓库

GitHub 永久链接

将 GitHub 非永久链接替换为 永久链接

使用方法:
  1. 在设置 -\u0026gt; 插件中启用 github permalinks enabled

配置

GitHub 访问令牌

为了使链接回传功能正常工作并授予用户徽章,您需要提供一个 GitHub 访问令牌。您可以在以下位置生成令牌:Sign in to GitHub · GitHub

链接回传功能需要 public_repo 范围,而授予徽章则不需要任何范围(如果仅需要徽章,请保持所有选项未选中)。由于 public_repo 范围授予了对仓库的 写入权限,我们建议您创建一个 临时 GitHub 账户,该账户没有访问任何仓库,并仅用于生成令牌。

更新日志

待办事项

30 个赞

多个链接的处理流程是什么?是仅仅将它们添加到同一个提交评论中?还是每次都创建一个全新的评论?

1 个赞

我想知道是否可以简化 commits 和 PRs 的徽章,因为我们正试图避免选择的悖论:)

目前我只是分叉并删除了 commit 徽章,但当然,我失去了 commit 徽章(因为我直接提交)并且分叉并不等于始终与核心保持一致。

通配符 * 对于 GitHub 组织不起作用,我最终单独列出了每个仓库。有没有其他人遇到过组织与用户之间存在此问题?

如何设置链接回评论语言?

谢谢,我真的很喜欢这个插件!我对徽章系统感到困惑,很高兴在另一个主题中找到了说明:Github Badges are not working. Its hard to see if I do something wrong or if the plugin is not working - #4 by simon

但是,该回复指出:

该插件创建 6 个徽章:

我没有看到这些徽章中的任何一个,不确定发生了什么?有没有办法(重新?)触发这些徽章的创建?

1 个赞

我来回答我自己的问题,几个小时后计划任务运行了,这时徽章被创建了。

手动执行此操作的方法似乎是触发 sidekiq 作业。

1 个赞

功能请求:从链接回退中排除类别和/或标签

我们有一个公告类别,RSS 插件会自动抓取 GitHub 的新版本。当版本说明链接到问题时,该链接也会显示在 Discourse 中,并生成一个链接回退,但这对任何人都没有帮助,反而造成了 Github 上的杂乱。

我希望能够排除某些帖子,例如由配置在 RSS 插件中的用户发布的类别、标签或甚至只是帖子本身,从而不创建链接回退。

:partying_face: 此插件现已作为 Bundling more popular plugins with Discourse core 的一部分,与 Discourse 核心捆绑在一起。如果您是自托管用户并使用了此插件,则需要在下次升级前将其从您的 app.yml 中移除。