Discourse コードレビュー

:discourse2: 概要 Discourse Code Review は、Discourse上でGitHubのコミットをレビューする機能を 제공합니다。
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-code-review
:open_book: インストールガイド Discourseにプラグインをインストールする方法

機能

これは何ですか?

Discourse Code Reviewプラグインは、GitHubコードリポジトリとの双方向統合を提供します。これにより、チームはDiscourseの機能やプラグイン(assign、whispers、通知、カスタムワークフローなど)を活用して、リポジトリへのコミットをレビューできます。リポジトリへの各コミットはトピックになります。トピックへの返信はGitHubにミラーリングされます。統合は双方向であり、DiscourseでコメントするとGitHubに表示され、GitHubでコメントするとDiscourseに表示されます。

これは、複数のリポジトリへのすべてのコミットをレビューする必要があるチームにとって、非常に強力なワークフローを提供します。

これにより、リポジトリに適用されたすべての変更について複数のチームメンバーが認識していることを確認できます。コミットにフォローアップのマークを付けたり、レビュー作業を割り当てたりすることもできます。

注:承認可能なトピックを表示している場合、キーボードのyキーを使用してコミットの承認を高速化できます。

実際に動作している様子を見られますか?

Discourseは、リポジトリの追跡のためにこのプラグインを内部で使用しています。Discourse側の例をここで見ることができます:

GitHubでは、同じトピックは次のようになります:

設定

このプラグインは、リポジトリおよびリポジトリ上の変更を発見するためにGitHubのWebhookに依存します。最小限の設定として、以下の設定をシークレット文字列に設定する必要があります。

code review github webhook secret

GitHubリポジトリで設定した後、以下のWebhookを設定します:

Payload URL: https://YOUR_DISCOURSE/code-review/webhook
Content Type: application/json
Secret: code review github webhook secret の値
Event Types:

  • Commit comments
  • Issue comments
  • Pull requests
  • Pull request reviews
  • Pull request review comments
  • Pushes

このプラグインは、以下の追加のサイト設定を提供します:

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によって作成された新しいカテゴリは、デフォルトでユーザーに対してミュートされます

code review skip duration minutes: コミット上のスキップボタンをクリックすると、この設定で指定された分間、そのコミットが再び表示されなくなります。

変更履歴

未完了事項

その他

Discourseがこのプラグインを使用する方法

要約 - このプラグインは、DiscourseチームのGitHubによるコードレビューの使用を補完するために設計されました。

詳細情報

@samからの発言

  • GitHub UIを使用してPRを作成し、多くの変更に対するPRを行うことはまだ大好きです。ここには何も変わりません。GitHubは素晴らしいです、私たちはGitHubを愛しています。彼らはまだマージされていない変更に対して優れたワークフローを持っています。しかし…

  • リポジトリに直接コミットされた変更に対するGitHubのワークフローは最悪です。

  • レビューは、今日GitHubでは埋めることのできないギャップを埋めています。私たちは、Discourseが所有するgitリポジトリへのすべての変更を少なくとも1人のチームメンバーがレビューすることを望んでいます。GitHubが提供するUIを使用する場合、誰もプルリクエスト以外のことは永遠に許可されません。これでは私たちの速度が著しく低下します。

  • 私たちは、特定の変更に関して、世界中が知る必要のないプライベートなコミュニケーションを取る能力が必要です。例えば:この素晴らしい修正を<巨大な企業名>にできるだけ早くデプロイする必要があります、@sam、これをお願いできますか

  • 私たちは、行われた変更を承認したり、フォローアップを要求したりする能力が必要です。これはGitHub UIが提供していないものです。

  • 私たちは、特定のコミットをユーザーに割り当てる能力が必要です。例えば、@samがいくつかのミスを含むコミットを作成した場合、彼にその特定のコミットを直接割り当て、フォローアップのマークを付け、フォローアップが行われたことを追跡できるのは良いことです。

  • Discourseはこの会話全体に対してかなり優れており、小さな機能はかなりの違いを生みます。誰かが入力しているのが見えます。変更が表示されるためにページを更新する必要はありません。引用は本当に便利で、画像のアップロードも便利で、などなど。

  • Discourseは読み取り状態に対して非常に優れており、すべてのものを一度だけ読んだという非常に強い保証が得られます。GitHubでは、どのコミットを読み、どのコミットを読み飛ばしたのか全く分かりません。私たちは、情報洪水に対処するために非常に効率的です。

そしてこのリストは続きます…

つまり、レビューはGitHubの補完として機能し、私たちは現在、まだマージされていない変更に対処するためにGitHubを使用しています。そして、すでにマージされた変更を適切に処理するためにレビューを使用しています。

「いいね!」 72