Skip to main content

レビューとは?

Diversion のコードレビューでは、変更を main ブランチにマージする前にフィードバックをリクエストできます。チームメンバーはコードをレビューし、コメントを残したり、変更を承認したり、修正をリクエストしたりできます。

レビューの仕組み

レビューはリポジトリ内の 2 つの ref (ブランチまたはコミット) を比較します:
  • Base ref: 変更がマージされる対象 (通常は main)
  • Compare ref: 変更を含むブランチまたはコミット
レビューを作成すると、Diversion はこれら 2 つの ref 間の差分を計算し、チームにフィードバックのために提示します。

レビューの作成

Diversion でレビューを作成する方法は 2 つあります:

方法 1: ブランチからレビューを作成 (最も一般的)

2 つのブランチを比較し、マージ前にフィードバックを得たい場合に使用します。 ステップバイステップの手順:
  1. Reviews セクションに移動
    • Diversion Web アプリでリポジトリを開きます
    • 左のナビゲーションレールにある 「Reviews」 アイコンをクリックするか、Ctrl+K (Mac では Cmd+K) を押して 「Reviews」 を選択します
    左ナビゲーションレールで Reviews をクリック
  2. 「Create new review」ボタンをクリック Create new review ボタンをクリック
  3. 比較するブランチを選択
    • Base branch: マージ先のブランチを選択します (通常は main)
      • 「Base branch」の下のドロップダウンをクリックします
      • ターゲットブランチ (例: master、main、develop) を選択します
    • Compare branch: 変更を含むブランチを選択します
      • 「Compare branch」の下のドロップダウンをクリックするか、入力を開始してブランチを検索します
      • フィーチャーブランチ (例: feature/user-dashboard) を選択します
  4. レビュー詳細を記入
    • Title (必須): 変更の短い説明
      • 例: 「Add user authentication system」
    • Description (オプション): 詳細な説明
      • なぜこれらの変更を行ったかを説明します
      • 重要なコンテキストがあれば言及します
  5. レビュアーを追加 (オプション)
    • 「Reviewers」ドロップダウンをクリックします
    • 変更をレビューすべきチームメイトを 1 人以上選択します
    • これをスキップして後でレビュアーを追加することもできます
  6. 「Create review」をクリック
    • レビューがすぐに作成されます
    • アサインされたレビュアーはメール通知を受け取ります
    • レビューページに移動します
送信前のレビューフォーム

方法 2: マージダイアログからレビューを作成

マージの準備ができているが、まず承認が必要な場合に使用します ステップバイステップの手順:
  1. マージしたいブランチに移動
    • Diversion Web アプリの 「Branches」 セクションに移動します
    • Branches リスト内であなたのフィーチャーブランチ (変更を含むもの) を見つけます
    • そのブランチをクリックし、マージ方向を選択します
    • 注意: 現在いるブランチをマージすることはできません。マージオプションを表示するには、別のブランチをクリックする必要があります
    ブランチをクリックしてマージ方向を選択
  2. 「Create review request」を選択
    • どのように進めるかを尋ねるダイアログが表示されます
    • 以下を含むいくつかのオプションが表示されます:
      • 「Create review request」: マージ前にレビューをリクエスト
      • 「Preview merge」: レビューを作成せずにマージ差分を確認
    • (ダイアログには 「Merge now」 と 「Cancel」 もあります。)
    • 「Create review request」 をクリックします
    Create review request
    • これらのブランチにすでにレビューが存在する場合は、「Go to review requests」をクリックします
    Go to review request
  3. レビュー詳細を記入
    • これらのブランチにすでにレビューが存在する場合は、そこに移動します
    • そうでない場合は、レビュー作成フォームが表示されます
    • Base ブランチと compare ブランチはすでに入力済みです
    • タイトル、説明、レビュアーを追加します
    • 「Create review」 をクリックします

すべての方法で必要なもの

すべてのレビューには以下が必要です:
  • Base branch: 変更をマージしたい場所 (例: master)
  • Compare branch: 変更を含むブランチ
  • Title: 明確で簡潔な説明 (必須)
  • Description: より詳細な説明 (オプションだが推奨)
  • Reviewers: レビューすべきチームメイト (オプション、後で追加可能)

SlothBot による AI レビュー

オープン中のブランチレビューで Review with SlothBot をクリックすると、人間のレビューと並行して AI のフィードバックを得られます。SlothBot は指摘事項をコメントとして残しますが、レビューを承認したりマージしたりはしません。 AI レビューは Studio および Enterprise プランで、またアクティブなトライアル期間中や猶予期間中に利用できます。アプリと CLI での手順、制限、データの利用については SlothBot による AI レビュー を参照してください。

誰かの変更をレビューする

レビューを依頼されたとき

誰かがあなたのレビューをリクエストすると、メール通知を受け取ります。 ステップバイステップの手順:
  1. レビューを開く
    • メール通知のリンクをクリックする、または
    • Diversion Web アプリ → 「Reviews」 セクションに移動します
    左ナビゲーションレールの Reviews セクション
    • リストからレビューを見つけます (レビュアーとしてあなたの名前が表示されます)
    • Filter by 行を使ってリストを絞り込みます。デフォルトでは、リストにはオープンなレビューが表示されます。
      • Status: Open、Closed、またはその両方
      • Author と Reviewer: Me、ユーザー、またはグループを選択します。グループは、そのメンバーのいずれかに一致します
      • Branch: レビューのベースブランチまたは比較ブランチに一致します
    Filter by 行のあるレビューリスト ユーザーとグループを含む Author フィルター
    • フィルターは互いに、また検索ボックスとも組み合わせて機能します。たとえば、Author: Art は Art グループのメンバーが作成したレビューのみを表示します
    作成者として Art グループで絞り込んだレビューリスト
    • 組織のオーナーと管理者には、すべてのグループが表示されます。その他のメンバーには、自分が所属するグループが表示されます
    • すべてのレビューを表示するには、Clear filters をクリックします
    • レビューをクリックして開きます
  2. レビュー詳細を確認
    • 上部に以下が表示されます:
      • レビューのタイトルと説明
      • レビューを作成した人
      • 比較されているブランチ/コミット
      • 現在のステータスと他のレビュアー
  3. 変更をレビュー
    • 2 つのタブが表示されます:
      • 「Conversation」: すべてのコメントと議論を表示
      • 「Files Changed」: コード差分を表示
    • 「Files Changed」 をクリックして、どのコードが変更されたかを確認します
    コード差分を表示する Files changed タブ
  4. コメントを残す (以下で説明)
    • 全体的な変更に関する一般的なコメントを追加します
    • 特定のコード行にインラインコメントを追加します
    コメント付きの Conversation タブ
  5. 決定を下す
    • 「Files Changed」 タブに移動します
    • 「Review changes」 をクリックします
    Review changes
    • 以下のオプションのいずれかを選択します:
      • 「Approve」: 変更に問題なし、マージ準備完了
      • 「Request Changes」: 修正が必要
      Review actions
    • レビューを作成したのがあなた自身の場合、これら 2 つのオプションは無効になります。コメントは引き続き追加できます。
    • 決定を説明するオプションのコメントを追加します
    • 「Submit review」 をクリックして決定を送信します
  6. 完了!
    • レビュー作成者はあなたの決定の通知を受け取ります
    • レビューステータスが更新され、会話と「Reviewers」セクション下のアバターの両方に表示されます

コメントの追加

一般的なコメント

レビュー全体に関する大局的なフィードバックには、一般的なコメントを使用します。 一般的なコメントを追加する方法:
  1. レビューページを開きます
  2. 「Conversation」 タブに移動します
  3. 下部のコメントボックスにスクロールします
  4. コメントを入力します
  5. 「Comment」 ボタンをクリックします
コメントに返信する方法:
  1. 「Conversation」 タブで返信したいコメントを見つけます
  2. 返信を入力します
  3. 「Reply」 をクリックして返信を投稿します
コメントの追加と返信 一般的なコメントの例:
  • 「全体的なアプローチは素晴らしい!」
  • 「エッジケースをどう扱うか考えましたか?」
  • 「マージする前に単体テストが必要です」
  • 「エラー処理の素晴らしい仕事です!」

インラインコメント

特定のコード行の具体的な問題を指摘するには、インラインコメントを使用します。 インラインコメントを追加する方法:
  1. レビューページを開きます
  2. 「Files Changed」 タブに移動します
  3. コメントしたいファイルを見つけます
  4. 差分ビューで 行番号をクリック します
  5. 画面右側にコメントボックスが表示されます
  6. その特定の行に関するコメントを入力します
  7. 「Comment」 ボタンをクリックします
ファイルレベルのコメントを追加する方法:
  1. レビューページを開きます
  2. 「Files Changed」 タブに移動します
  3. コメントしたいファイルを見つけます
  4. ファイルの変更版の上にある 「+」 ボタンをクリックします
  5. 画面右側にコメントボックスが表示されます
  6. ファイル全体に関するコメントを入力します
  7. 「Comment」 ボタンをクリックします
インラインおよびファイルレベルのコメントの追加 インラインコメントの例:
  • 「この関数は user が null の場合を処理すべきです」
  • 「マジックナンバーの代わりにここで定数を使うことを検討してください」
  • 「以前のバージョンより大きく改善されています!」
  • 「並行して呼ばれた場合、これは競合状態を引き起こす可能性があります」

スレッドの解決と折りたたみ

議論が決着したら、そのスレッドを解決して、まだ未解決のものがレビューでわかるようにします。 スレッドを解決する方法:
  1. 「Conversation」 タブ、または 「Files Changed」 タブの右側にあるコメントで、スレッドを見つけます
  2. スレッドの下にある 「Resolve thread」 をクリックします
  3. スレッドが 1 行に折りたたまれ、誰がいつ解決したかが表示されます
解決済みのスレッドを再び開くには、折りたたまれた行をクリックしてから 「Unresolve thread」 をクリックします。新しい返信を追加しても、解決済みのスレッドは再び開きません。 解決できるユーザー: リポジトリへの書き込みアクセス権を持つすべてのユーザー。読み取り専用アクセス権を持つユーザーはコメントできますが、解決はできません。 未解決の数: 「Conversation」 タブには、まだ未解決のスレッドの数が表示されます。「Files Changed」 タブでは、右側のコメントに、選択したファイルの数が表示されます。 解決せずに折りたたむ: スレッドの上部にある 「Fold」 をクリックするとスレッドが非表示になり、折りたたまれた行をクリックすると再び表示されます。折りたたみは自分の表示だけを変更します。

レビューステータスの表示

レビュアーとしてのあなたのステータス:
  • REQUESTED: まだ応答していない - レビューはあなたを待っている
  • APPROVED: 変更を承認した
  • CHANGES REQUESTED: 修正をリクエストした
レビューの全体的なステータス:
  • OPEN (青): レビューはアクティブで、承認がまだ必要な可能性がある
  • MERGED (紫): 変更が承認されマージされた
  • CLOSED (灰): レビューはマージされずにクローズされた
レビューステータスインジケーター

レビュー詳細の編集

レビュー作成後、その隣の鉛筆アイコンをクリックしてタイトルと説明を編集したり、レビュアーセクションの隣の設定アイコンをクリックしてレビュアーを編集したりできます。

レビューフィードバックへの対応

変更がリクエストされた場合

  1. すべてのコメントを注意深く読み通します
  2. ブランチでリクエストされた変更を加えます
  3. 修正をコミットします (それらは自動的にレビューに表示されます)
  4. 何を変更したかを説明するためにコメントに返信します
  5. レビュアーにもう一度確認するよう依頼します

ブランチの更新

ブランチレビューを使用している場合、プッシュした新しいコミットは自動的にレビューに表示されます。レビュアーは以下を確認できます:
  • すべての元の変更
  • フィードバックに対応するために追加した新しいコミット
  • 完全で更新された差分

マージ競合を確認する

マージする前に、レビューがベースブランチと競合していないかを確認します。「Conversation」 タブを開きます:
  • レビューに競合がある場合、「This branch has conflicts that must be resolved」 というバナーが表示され、競合しているファイルが一覧表示されます。ファイル名をクリックすると、「Files changed」 タブでそのファイルが開きます。
  • 競合が解決されるまで、「Merge review」 は無効のままです。
  • 「Resolve conflicts」 をクリックすると、ベースブランチの最新の変更がブランチにマージされ、競合画面が開きます。完了すると、Diversion はレビューに戻ります。
競合しているファイルと Resolve conflicts ボタンを表示する競合バナーと、その下の無効な Merge review ボタン ベースブランチに競合しない新しい変更がある場合は、代わりに 「This branch is out-of-date with the base branch」 というバナーが表示されます。「Update branch」 をクリックすると、それらの変更がブランチに取り込まれます。 Conversation タブの Update branch ボタン付きの out-of-date バナー 「Files changed」 タブでは、競合しているファイルの名前の横に警告アイコン (感嘆符) が表示されます: Files changed タブで競合しているファイルの横に表示される警告アイコン ファイルを選択すると、そのファイルがベースブランチと競合していることを示すメッセージが表示されます。差分には、あなたのブランチの変更が表示されます。 ファイルがベースブランチと競合していることを示す、差分の上のメッセージ

承認を得たとき

すべてのレビュアーが承認したら (またはチームのポリシーに基づいて十分な承認が得られたら):
  1. すべてがうまくいっているかの最終チェックを行います
  2. レビューページの 「Merge review」 ボタンをクリックして変更をマージします。競合画面を完了する前に離れた場合は、レビューに 「Resolve conflicts」 ボタンが表示され、クリックすると競合画面に戻ります。 Conversation タブの Resolve conflicts ボタン
  3. レビューステータスは自動的に MERGED に変わります

通知

以下について、メール通知を受け取ります:
  • 誰かがあなたのレビューをリクエストしたとき
  • 誰かがあなたのレビューにコメントしたとき
  • レビュアーが承認または変更をリクエストしたとき
  • レビューがマージまたはクローズされたとき
すべての通知には、Diversion でレビューを表示するためのリンクが含まれます。