> ## Documentation Index
> Fetch the complete documentation index at: https://docs.diversion.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# レビュー

> Diversion でのコードレビュー

## レビューとは?

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

## レビューの仕組み

レビューはリポジトリ内の 2 つの ref (ブランチまたはコミット) を比較します:

* Base ref: 変更がマージされる対象 (通常は main)
* Compare ref: 変更を含むブランチまたはコミット

レビューを作成すると、Diversion はこれら 2 つの ref 間の差分を計算し、チームにフィードバックのために提示します。

## レビューの作成

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

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

2 つのブランチを比較し、マージ前にフィードバックを得たい場合に使用します。

**ステップバイステップの手順:**

1. **Reviews セクションに移動**
   * Diversion Web アプリでリポジトリを開きます
   * 左のナビゲーションレールにある **「Reviews」** アイコンをクリックします
   <img src="https://mintcdn.com/diversion-2/hNFKL35i0RPRSCiK/images/reviews/create-review-step-1.png?fit=max&auto=format&n=hNFKL35i0RPRSCiK&q=85&s=830040503beb46f02b5d971f150b742c" alt="左ナビゲーションレールで Reviews をクリック" width="940" height="550" data-path="images/reviews/create-review-step-1.png" />

2. **「Create new review」ボタンをクリック**
   <img src="https://mintcdn.com/diversion-2/vYiNbZkWu4TW6MN8/images/reviews/create-review-step-2.png?fit=max&auto=format&n=vYiNbZkWu4TW6MN8&q=85&s=1f1d5ecb654887d0110784a1a3ac9bb1" alt="Create new review ボタンをクリック" width="2522" height="862" data-path="images/reviews/create-review-step-2.png" />

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」をクリック**
   * レビューがすぐに作成されます
   * アサインされたレビュアーはメール通知を受け取ります
   * レビューページに移動します

<img src="https://mintcdn.com/diversion-2/410ATEhIJpZrdWhu/images/reviews/review-before-submit.png?fit=max&auto=format&n=410ATEhIJpZrdWhu&q=85&s=beda5edaf86b493b2345e413160387d5" alt="送信前のレビューフォーム" width="1130" height="644" data-path="images/reviews/review-before-submit.png" />

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

マージの準備ができているが、まず承認が必要な場合に使用します

**ステップバイステップの手順:**

1. **マージしたいブランチに移動**
   * Diversion Web アプリの **「Branches」** セクションに移動します
   * Branches リスト内であなたのフィーチャーブランチ (変更を含むもの) を見つけます
   * そのブランチをクリックし、マージ方向を選択します
   * 注意: 現在いるブランチをマージすることはできません。マージオプションを表示するには、別のブランチをクリックする必要があります
   <img src="https://mintcdn.com/diversion-2/410ATEhIJpZrdWhu/images/reviews/create-review-merge-1.png?fit=max&auto=format&n=410ATEhIJpZrdWhu&q=85&s=ad605a9ba1661db1b26058ffd2ed9672" alt="ブランチをクリックしてマージ方向を選択" width="544" height="356" data-path="images/reviews/create-review-merge-1.png" />

2. **「Create review request」を選択**
   * どのように進めるかを尋ねるダイアログが表示されます
   * 以下を含むいくつかのオプションが表示されます:
     * **「Create review request」**: マージ前にレビューをリクエスト
     * **「Preview merge」**: レビューを作成せずにマージ差分を確認
   * (ダイアログには **「Merge now」** と **「Cancel」** もあります。)
   * **「Create review request」** をクリックします
   <img src="https://mintcdn.com/diversion-2/vYiNbZkWu4TW6MN8/images/reviews/create-review-merge-2.png?fit=max&auto=format&n=vYiNbZkWu4TW6MN8&q=85&s=326615c6e732fe660b3f64e54bfad912" alt="Create review request" width="981" height="685" data-path="images/reviews/create-review-merge-2.png" />
   * これらのブランチにすでにレビューが存在する場合は、「Go to review requests」をクリックします
   <img src="https://mintcdn.com/diversion-2/vYiNbZkWu4TW6MN8/images/reviews/create-review-merge-3.png?fit=max&auto=format&n=vYiNbZkWu4TW6MN8&q=85&s=c0056205e4fe028e65c762f651616c6e" alt="Go to review request" width="726" height="543" data-path="images/reviews/create-review-merge-3.png" />

3. **レビュー詳細を記入**
   * これらのブランチにすでにレビューが存在する場合は、そこに移動します
   * そうでない場合は、レビュー作成フォームが表示されます
   * Base ブランチと compare ブランチはすでに入力済みです
   * タイトル、説明、レビュアーを追加します
   * **「Create review」** をクリックします

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

すべてのレビューには以下が必要です:

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

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

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

誰かがあなたのレビューをリクエストすると、メール通知を受け取ります。

**ステップバイステップの手順:**

1. **レビューを開く**
   * メール通知のリンクをクリックする、または
   * Diversion Web アプリ → **「Reviews」** セクションに移動します
   <img src="https://mintcdn.com/diversion-2/hNFKL35i0RPRSCiK/images/reviews/create-review-step-1.png?fit=max&auto=format&n=hNFKL35i0RPRSCiK&q=85&s=830040503beb46f02b5d971f150b742c" alt="左ナビゲーションレールの Reviews セクション" width="940" height="550" data-path="images/reviews/create-review-step-1.png" />
   * リストからレビューを見つけます (レビュアーとしてあなたの名前が表示されます)
   * レビューはステータス (Open、Closed) や自分のレビューであるかどうかでフィルタできます
   <img src="https://mintcdn.com/diversion-2/vYiNbZkWu4TW6MN8/images/reviews/create-review-merge-4.png?fit=max&auto=format&n=vYiNbZkWu4TW6MN8&q=85&s=c04d03bee4ec416e29113235eb4d47d7" alt="レビューリスト" width="2527" height="786" data-path="images/reviews/create-review-merge-4.png" />
   * レビューをクリックして開きます

2. **レビュー詳細を確認**
   * 上部に以下が表示されます:
     * レビューのタイトルと説明
     * レビューを作成した人
     * 比較されているブランチ/コミット
     * 現在のステータスと他のレビュアー

3. **変更をレビュー**

   * 2 つのタブが表示されます:
     * **「Conversation」**: すべてのコメントと議論を表示
     * **「Files Changed」**: コード差分を表示
   * **「Files Changed」** をクリックして、どのコードが変更されたかを確認します

   <img src="https://mintcdn.com/diversion-2/zcPZoBHSMxqSDbXP/images/reviews/files-changed.png?fit=max&auto=format&n=zcPZoBHSMxqSDbXP&q=85&s=474e0e08ae2ff39b9e2e665589207826" alt="コード差分を表示する Files changed タブ" width="2177" height="1218" data-path="images/reviews/files-changed.png" />

4. **コメントを残す** (以下で説明)

   * 全体的な変更に関する一般的なコメントを追加します
   * 特定のコード行にインラインコメントを追加します

   <img src="https://mintcdn.com/diversion-2/zcPZoBHSMxqSDbXP/images/reviews/review-changes-conversation.png?fit=max&auto=format&n=zcPZoBHSMxqSDbXP&q=85&s=cd75c08a36d46b931a310a4d590ec7e1" alt="コメント付きの Conversation タブ" width="2503" height="1137" data-path="images/reviews/review-changes-conversation.png" />

5. **決定を下す**
   * **「Files Changed」** タブに移動します
   * **「Review changes」** をクリックします
   <img src="https://mintcdn.com/diversion-2/zcPZoBHSMxqSDbXP/images/reviews/review-changes.png?fit=max&auto=format&n=zcPZoBHSMxqSDbXP&q=85&s=5169023f38b74a308fbaa370700e4575" alt="Review changes" width="2532" height="580" data-path="images/reviews/review-changes.png" />
   * 以下のオプションのいずれかを選択します:
     * **「Approve」**: 変更に問題なし、マージ準備完了
     * **「Request Changes」**: 修正が必要
     <img src="https://mintcdn.com/diversion-2/zcPZoBHSMxqSDbXP/images/reviews/review-actions.png?fit=max&auto=format&n=zcPZoBHSMxqSDbXP&q=85&s=b4bc9a8f62cd99223af4e4820b315a63" alt="Review actions" width="502" height="1318" data-path="images/reviews/review-actions.png" />
   * 決定を説明するオプションのコメントを追加します
   * **「Submit review」** をクリックして決定を送信します

6. **完了!**
   * レビュー作成者はあなたの決定の通知を受け取ります
   * レビューステータスが更新され、会話と「Reviewers」セクション下のアバターの両方に表示されます

### コメントの追加

#### 一般的なコメント

レビュー全体に関する大局的なフィードバックには、一般的なコメントを使用します。

**一般的なコメントを追加する方法:**

1. レビューページを開きます
2. **「Conversation」** タブに移動します
3. 下部のコメントボックスにスクロールします
4. コメントを入力します
5. **「Comment」** ボタンをクリックします

**コメントに返信する方法:**

1. **「Conversation」** タブで返信したいコメントを見つけます
2. 返信を入力します
3. **「Reply」** をクリックして返信を投稿します

<img src="https://mintcdn.com/diversion-2/vYiNbZkWu4TW6MN8/images/reviews/add-comments.png?fit=max&auto=format&n=vYiNbZkWu4TW6MN8&q=85&s=5dd1ed9f4fecf2ba0014232f8357c9ce" alt="コメントの追加と返信" width="2529" height="1137" data-path="images/reviews/add-comments.png" />

**一般的なコメントの例:**

* 「全体的なアプローチは素晴らしい!」
* 「エッジケースをどう扱うか考えましたか?」
* 「マージする前に単体テストが必要です」
* 「エラー処理の素晴らしい仕事です!」

#### インラインコメント

特定のコード行の具体的な問題を指摘するには、インラインコメントを使用します。

**インラインコメントを追加する方法:**

1. レビューページを開きます
2. **「Files Changed」** タブに移動します
3. コメントしたいファイルを見つけます
4. 差分ビューで **行番号をクリック** します
5. 画面右側にコメントボックスが表示されます
6. その特定の行に関するコメントを入力します
7. **「Comment」** ボタンをクリックします

**ファイルレベルのコメントを追加する方法:**

1. レビューページを開きます
2. **「Files Changed」** タブに移動します
3. コメントしたいファイルを見つけます
4. ファイルの変更版の上にある **「+」** ボタンをクリックします
5. 画面右側にコメントボックスが表示されます
6. ファイル全体に関するコメントを入力します
7. **「Comment」** ボタンをクリックします

<img src="https://mintcdn.com/diversion-2/vYiNbZkWu4TW6MN8/images/reviews/file-comments.png?fit=max&auto=format&n=vYiNbZkWu4TW6MN8&q=85&s=8ddb002e23b1ecdef88557553048c7a3" alt="インラインおよびファイルレベルのコメントの追加" width="2512" height="1246" data-path="images/reviews/file-comments.png" />

**インラインコメントの例:**

* 「この関数は user が null の場合を処理すべきです」
* 「マジックナンバーの代わりにここで定数を使うことを検討してください」
* 「以前のバージョンより大きく改善されています!」
* 「並行して呼ばれた場合、これは競合状態を引き起こす可能性があります」

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

**レビュアーとしてのあなたのステータス:**

* **REQUESTED**: まだ応答していない - レビューはあなたを待っている
* **APPROVED**: 変更を承認した
* **CHANGES REQUESTED**: 修正をリクエストした

**レビューの全体的なステータス:**

* **OPEN** (青): レビューはアクティブで、承認がまだ必要な可能性がある
* **MERGED** (紫): 変更が承認されマージされた
* **CLOSED** (灰): レビューはマージされずにクローズされた

<img src="https://mintcdn.com/diversion-2/zcPZoBHSMxqSDbXP/images/reviews/review-status.png?fit=max&auto=format&n=zcPZoBHSMxqSDbXP&q=85&s=ca0cd1eaefd85963d1492a65bef7ae2a" alt="レビューステータスインジケーター" width="2552" height="615" data-path="images/reviews/review-status.png" />

## レビュー詳細の編集

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

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

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

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

### ブランチの更新

ブランチレビューを使用している場合、プッシュした新しいコミットは自動的にレビューに表示されます。レビュアーは以下を確認できます:

* すべての元の変更
* フィードバックに対応するために追加した新しいコミット
* 完全で更新された差分

### 承認を得たとき

すべてのレビュアーが承認したら (またはチームのポリシーに基づいて十分な承認が得られたら):

1. すべてがうまくいっているかの最終チェックを行います
2. レビューページの **「Merge review」** ボタンをクリックして変更をマージします
3. レビューステータスは自動的に MERGED に変わります

## 通知

以下について、メール通知を受け取ります:

* 誰かがあなたのレビューをリクエストしたとき
* 誰かがあなたのレビューにコメントしたとき
* レビュアーが承認または変更をリクエストしたとき
* レビューがマージまたはクローズされたとき

すべての通知には、Diversion でレビューを表示するためのリンクが含まれます。
