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

# カスタムメッセージ

> Kody のレビュー開始・終了メッセージをカスタマイズする

## 概要

コードレビューの開始と終了時に Kody が送信するメッセージをカスタマイズします。この機能により、コミュニケーションスタイルをパーソナライズし、チームに特定のコンテキストや指示を追加できます。

## デフォルトの動作

メッセージをカスタマイズしていない場合、Kody は以下のように動作します：

1. **初期メッセージ**：Kody は標準的なレビュー開始メッセージを送信します
2. **サジェスト**：Kody はすべてのコードレビューサジェストを提供します
3. **最終メッセージ**：Kody はレビューの概要で初期メッセージを更新します

## カスタムメッセージの動作

レビュー開始または終了メッセージのいずれかを初めて編集すると、Kody の動作が以下のように変わります：

1. **初期メッセージ**：Kody はカスタムレビュー開始メッセージを送信します
2. **サジェスト**：Kody はすべてのコードレビューサジェストを提供します
3. **最終メッセージ**：Kody はカスタムレビュー終了メッセージを送信します（初期メッセージは更新されません）

これにより完全なタイムラインが作成されます：**初期メッセージ → サジェスト → 最終メッセージ**

## メッセージ設定オプション

### メッセージの動作

**メッセージの動作**ドロップダウンを使用して、Kody がカスタムの開始・終了メッセージをいつ投稿するかを決定します：

* **重要：** メッセージはレビューが実際に実行されるときのみ送信されます。\
  レビューの頻度が**手動**の場合、メッセージは誰かが `@kody start-review` を実行したときのみ投稿されます。

* **毎プッシュ時**：Kody はプルリクエストが開かれたときに開始メッセージを投稿し、**レビューをトリガーする**新しいプッシュごとに開始/終了ペアを繰り返します。これは頻度が**自動**または**自動一時停止**の場合にのみ自動的に発生します。

* **開かれたときのみ**：Kody は最初のレビュー実行後に一度だけ開始・終了メッセージを送信します。頻度が**手動**の場合、最初のレビュー実行は `@kody start-review` を呼び出したときです。将来のプッシュはレビューサジェストと通常のリアクションだけを追加し、作者はレビューが再実行されたことを知ります。

* **オフ**：カスタムメッセージは無効です。Kody は引き続きレビューを実行してサジェストを投稿しますが、開始・終了メッセージは送信されません。

動作が `毎プッシュ時` または `開かれたときのみ` の場合、Kody は入力したテンプレートを使用します。開始メッセージのみをカスタマイズした場合、そのメッセージのみが送信されます。終了メッセージも同様です。これにより、動作がメッセージの投稿を許可する場合はいつでも、**初期メッセージ → サジェスト → 最終メッセージ**というおなじみのタイムラインが維持されます。

**例（手動の頻度）**\
PR が開かれる → まだメッセージなし\
`@kody start-review` → 開始メッセージ → サジェスト → 終了メッセージ

## 動的コンテキスト

**コンテキストを追加**ボタンを使用して、動的コンテキストでカスタムメッセージを拡張できます。以下を含めることができます：

### changedFiles

ファイルごとの追加と削除を示す変更ファイルの概要。プルリクエストで変更された内容の詳細な内訳を提供します。

### changeSummary

プルリクエストのすべての変更の包括的な概要。変更範囲全体の概観を提供します。

### reviewOptions

チームが設定したレビュー設定の反映。レビューでどの分析タイプが有効または無効かを示します。

### reviewCadence

最初の自動レビュー後に何が起こるかを作者が知ることができるよう、正確なフォローアップレビューポリシーを提供します：

* **自動**：Kody はプッシュがあるたびにすぐに再レビューします。
* **自動一時停止**：Kody は自動的にプッシュを再レビューしますが、「プッシュバースト」を検出した場合（例：設定されたしきい値に基づいて 15 分以内に 3 回のプッシュ）、フォローアップレビューを再開するまで一時停止します。頻度コンテキストには、チームが一時停止がいつトリガーされるかを知ることができるよう、プッシュと時間の制限が含まれます。
* **手動**：Kody は誰かが `@kody start-review` を実行するまで次のパスを待ちます。

### reviewScope

このプルリクエストのレビューにどの設定レベル（グローバル・リポジトリ・ディレクトリ）が
適用されたかを表示し、作者がどの設定が使われたかを把握できるようにします。

### agentPrompt

<Note>
  **レビュー終了メッセージ専用。**
  レビューの行コメントの提案をまとめたものです。これらの提案はレビューが実行されるまで
  存在しないため、開始メッセージでは提供されません。
</Note>

レビューのすべての提案を、コピー＆ペーストできる 1
つのプロンプトブロック（折りたたみ式の **Open Agent Prompt** として表示）にまとめます。
コーディングエージェントに貼り付けると、レビューのすべての修正を一度に適用できます。

<Info>
  これらのコンテキスト変数は、Kody がメッセージを送信する際に
  プルリクエストの実際のデータで自動的に入力されます。
</Info>

<Note>
  `kodus-config.yml` では、これらのトークンは `@` プレフィックス付きで書きます —
  `@changedFiles`、`@changeSummary`、`@reviewOptions`、`@reviewCadence`、`@reviewScope`、
  `@agentPrompt` — メッセージの `content` 内のどこにでも置けます。Web UI の
  **Add Context** ボタンは同じトークンを挿入します。
</Note>

## エラーメッセージ

開始／終了メッセージとは別に、レビューが**失敗**したときに Kody が投稿するコメントへ独自の
テキストを追記できます。たとえば BYOK プロバイダーが未設定のとき、プロバイダーがリクエストを
拒否したときなどです。

* **Off**（デフォルト）— Kody は標準のエラーコメントをそのまま投稿します。
* **Active** — 標準のエラーコメントの下にあなたのテキストが追記されます。

汎用的な失敗メッセージで放置せず、社内の担当者や runbook へ誘導するのに使います：

```yaml theme={null}
customMessages:
    errorReviewMessage:
        status: 'active' # off | active
        content: |
            レビューが失敗しますか？ #platform-eng に連絡してください（Kodus の API キー管理担当）。
```

`content` を空のままにすると、デフォルトのエラーメッセージは変更されません。

## グローバル設定

カスタムメッセージだけでなく、Kody のすべてのコメントに適用される 2 つのトグルです：

| 設定                     | デフォルト   | 内容                                                                                                                    |
| ---------------------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `hideComments`         | `false` | すべてのレビューメッセージを非表示／最小化コメントとして投稿します。UI では **Post as hidden comment** と表示されます。**GitHub のみ** — 他のプラットフォームではトグル自体が表示されません。 |
| `suggestionCopyPrompt` | `true`  | サジェストにプロンプトとしてコピーする機能を追加し、コーディングエージェントに貼り付けられるようにします。**Bitbucket では利用できません。**                                         |

```yaml theme={null}
customMessages:
    globalSettings:
        hideComments: false # GitHub のみ
        suggestionCopyPrompt: true # Bitbucket では利用できません
```

<Note>
  両方のカスタムメッセージを無効にするか、メッセージコンテンツをクリアすることで、
  いつでもデフォルトの動作に戻すことができます。
</Note>

{" "}
