メインコンテンツへスキップ

概要

Devin がプルリクエスト(PR)を追跡しているとき、受信したコメントを監視し、自動で返信します。デフォルトでは、無限のフィードバックループを防ぐために、Devin は github-actions[bot]dependabot[bot]、コードレビュー用ボットなどのボットユーザーからのコメントを無視します。Autofix settings - bot comments 機能を使うと、この動作を制御し、信頼しているボットからのコメントに Devin が自動で返信できるように設定できます。 これは組織レベルの設定で、組織内のすべての Devin セッションに適用されます。

設定場所

Settings > Customization > Pull request settings > Autofix settings - bot comments に移動します。
この設定を変更できるのは組織の管理者のみです。

利用可能なモード

Bot コメントには返信しない(デフォルト)

Devin は、PR 上の Bot ユーザーからのすべてのコメントを無視します。これは最も安全なオプションであり、Devin と他の自動化ツールが無限ループに陥るリスクを防ぎます。

すべてのボットコメントに返信する

Devin はボットコメントを人間のコメントとまったく同じように扱い、すべてに対応します。
このモードは、自動コードレビュー用ボットとの間で無限ループを引き起こす可能性があります。たとえば、コードレビュー用ボットが Devin の PR にコメントし、Devin がコード変更で返信し、その後またボットがコメントする、というサイクルが無限に繰り返されるおそれがあります。ボットがフィードバックループを生まないと確信できる場合にのみ、このモードを使用してください。

特定のボットにのみ応答する

Devin が応答すべきボットのユーザー名の許可リストを指定します。Devin はそのボットからのコメントのみを処理し、それ以外は無視します。挙動を厳密に制御できるため、これはほとんどのチームに推奨されるオプションです。 ボットを許可リストに追加するには:
  1. ドロップダウンから Respond to specific bots only を選択します。
  2. 入力フィールドにボットの GitHub ユーザー名を入力します(例: github-actions[bot])。
  3. Add をクリックします。
ボットのユーザー名は通常、末尾が [bot] になっています。プルリクエストのコメントの作成者を見ることで、ボットのユーザー名を確認できます。 ボットを削除するには、許可リストでその名前の横にある × ボタンをクリックします。
ボットのユーザー名のマッチングは大文字と小文字を区別しないため、GitHub-Actions[bot]github-actions[bot] は同一として扱われます。

実行時の動作

Devin が追跡している PR にボットがコメントを残すと、Devin は組織のボットコメント設定を確認します。
  1. Mode が “none” の場合 — コメントは無視されます。
  2. Mode が “allowlist” の場合 — ボットのユーザー名が allowlist(許可リスト)と照合されます。一致した場合、Devin がコメントを処理します。一致しない場合は無視されます。
  3. Mode が “all” の場合 — コメントは処理されます。
コメントがボットフィルターを通過すると、さらに Devin の他のコメント処理チェック(mention-only setting や PR 上のコメント監視用チェックボックスなど)が実行されます。
“lint check failed” を含むボットからの Lint 失敗に関するコメントは、この設定に関係なく常に処理されるため、Devin は常に CI の失敗に対応できます。

一般的な利用例

  • CI ボット: CI ボットを許可すると、パイプラインで検出された lint エラー、テストの失敗、ビルドの問題を Devin が自動的に修正できるようになります。
  • セキュリティスキャナー: セキュリティスキャン用ボットを許可すると、Devin が脆弱性レポートに直接対応できるようになります。
  • コード品質ツール: SonarQube や Codacy などのボットを許可すると、Devin がコード品質に関するフィードバックに対応できるようになります。

Devin Review との連携

Devin Review は、devin-ai-integration[bot] として PR にコメントを投稿します。これはボットアカウントであるため、そのコメントはボットコメントに関する設定に従います。デフォルトモード(“Don’t respond to bot comments”)では、Devin セッションは Devin Review の指摘内容に対して自動的には対応しません。 Devin に Devin Review が指摘した問題へ自動対応させたい場合は、次のいずれかを行ってください:
  • モードを “Respond to specific bots only” に設定し、許可リストに devin-ai-integration[bot] を追加します。
  • モードを “Respond to all bot comments” に設定します。
Devin Review による “No Issues Found” の要約コメントは、この設定に関係なく常に無視されます。実際の問題を報告するコメントのみが対象になります。

メンション専用モードでのやり取り

「Devin に言及している PR コメントにのみ返信する」 設定を有効にしている場合、ボットのコメントも処理されるためには、Devin へのメンション(DevinAI または @devin で始まること)が含まれている必要があります。最初にボットコメントフィルターが実行され、その後にメンション専用フィルターが適用されます。

ヒント

  • まずは “Respond to specific bots only”(特定のボットにのみ返信)を選択し、ボットを 1 つずつ追加してください。こうすることで、ボットを増やす前に、それぞれのボットが Devin と正しく連携しているか確認できます。
  • 想定外のループが発生していると気づいた場合は、すぐに停止させるために “Don’t respond to bot comments”(ボットのコメントに返信しない)に戻してください。
  • ボットユーザーはユーザー名ではなく、GitHub のユーザータイプ (Bot) によって識別されます。名前に [bot] が含まれている人間のユーザーは、この設定の影響を受けません。