| 摘要 | Discourse Code Review 允许在 Discourse 上审查 GitHub 提交。 | |
| 仓库链接 | https://github.com/discourse/discourse-code-review | |
| 安装指南 | 如何在 Discourse 中安装插件 |
功能
它是什么?
Discourse Code Review 插件提供了与 GitHub 代码仓库的双向集成。它允许您的团队利用 Discourse 的功能和插件(如分配、耳语、通知、自定义工作流等)来审查仓库的提交。仓库中的每次提交都会变成一个话题。对话题的回复会镜像到 GitHub 上。集成是双向的,意味着您可以在 Discourse 上评论并在 GitHub 上看到,也可以在 GitHub 上评论并在 Discourse 上看到。
它为需要审查任意数量仓库的所有提交的团队提供了非常强大的工作流。
它确保多个团队成员知晓应用于仓库的所有更改。您可以标记提交以进行后续跟进、分配审查工作等。
注意:在查看可以批准的提交时,您可以使用键盘上的 y 按钮更快地批准提交。
我可以看它实际运行吗?
Discourse 维护着 https://review.discourse.org/ 这个网站是公开的,任何人都可以使用 GitHub 凭据注册。该网站仅向非员工成员展示部分功能。更完整的示例可能是:
在 GitHub 上,同一个话题看起来是这样的:
配置
该插件依赖 GitHub Webhook 来发现仓库及其更改。要进行最小配置,您需要将以下设置设置为一个秘密字符串。
code review github webhook secret
一旦在您的 GitHub 仓库设置中设置了它,请设置一个 Webhook,其中:
有效负载 URL:https://YOUR_DISCOURSE/code-review/webhook
内容类型:application/json
秘密:code review github webhook secret 的值
事件类型:
- 提交评论
- 问题评论
- 拉取请求
- 拉取请求审查
- 拉取请求审查评论
- 推送
该插件提供以下附加站点设置:
code review api username : GitHub 对允许的匿名 API 请求数量非常严格,此设置允许您使用 Discourse 用户的账户密钥进行 /comments 和 /commit 请求。这大大降低了遇到速率限制的可能性。
code review catch up commits : 当您遇到新仓库时,要“赶上”并为创建话题而提交的提交数量。
code review default parent category: 选择由插件创建的类别的默认父类别
code review pending tag: 应用于所有未审查提交的标签,默认为 pending
code review approved tag: 应用于已批准提交的标签,默认为 approved
code_review_followup_tag: 应用于后续提交的标签,默认为 follow-up
code review allow self approval: 员工是否被允许批准自己的提交?
code review default mute new categories: 由代码审查创建的新类别默认对用户静音
code review skip duration minutes: 点击提交上的跳过按钮将防止该提交在由此设置设置的分钟数内再次显示。
更新日志
待办事项
附加内容
Discourse 如何使用此插件
TL;DR - 此插件旨在补充 Discourse 团队对 GitHub 进行代码审查的使用。
更多信息
来自 @sam:
我们仍然使用 GitHub UI 进行 PR,并且喜欢为大量更改进行 PR。这里没有任何变化。GitHub 非常棒,我们喜欢 GitHub。他们为尚未合并的更改提供了出色的工作流。然而…
GitHub 对已直接提交到仓库的更改的工作流程很糟糕。
审查填补了今天 GitHub 无法填补的空白,我们希望至少有一名团队成员审查我们各种 Discourse 拥有的 git 仓库中的每项更改。如果我们使用 GitHub 提供的 UI,没有人将永远被允许只做拉取请求。这将极大地减缓我们的速度。
我们需要能够在不向全世界透露某些更改的情况下进行私人沟通。例如:我们必须尽快将此出色的修复程序部署到
<insert giant company name>,@sam 你能处理吗?我们需要能够批准所做的更改或请求后续跟进,这是 GitHub UI 不提供的内容。
我们需要能够将特定的提交分配给用户。假设 @sam 做了一个提交 包含一些错误 我们可以直接分配给他该特定提交,标记它进行后续跟进,然后跟踪它是否得到后续跟进,这很好。
Discourse 在整个对话方面非常出色,这些小功能带来了很大的不同,我可以看到人们正在输入。我从不刷新页面来弹出更改。引用非常好,图像上传也很好,等等。
Discourse 在读取状态方面做得非常好,您会获得很强的保证,即您阅读了每一件事一次,而在 GitHub 上,我不知道我阅读了哪些提交,哪些没有。我们有一种极其有效的方法来应对信息洪流。
列表还在继续…
因此,审查充当 GitHub 的补充,我们目前使用 GitHub 来处理尚未合并的更改。我们使用审查来正确处理已经合并的更改。

