メインコンテンツへスキップ
SonarQube の品質ゲート失敗を、作業の妨げではなくバックグラウンドで処理できるようにします。この自動化は、プルリクエストで quality-gate-failed イベントを監視し、SonarQube から issue の内訳を取得して、報告されたコードスメルやバグを修正し、同じブランチにコミットをプッシュします。これにより、開発者が介入しなくても品質ゲートをパスできます。

このテンプレートを利用する

Devin で SonarQube Quality Gate Fix を開き、デフォルト設定で自動化を作成します。保存する前にカスタマイズできます。

この自動化でできること

SonarQube は問題の検出には優れていますが、それに対処するには時間がかかります。SonarQube MCP により、Devin は issue レポート全体にアクセスできるため、各検出項目を順番に処理し、実際のバグを修正し、コードスメルを解消するためにリファクタリングし、重複コードを削除したうえで、scan を再実行して品質ゲートがグリーンになっていることを確認できます。

仕組み

トリガー: GitHub イベントcheck.run
  • イベント: github:check_run
    • 条件:
      • action eq completed
      • check_run.conclusion eq failure
      • check_run.name contains sonar
      • repository.full_name eq your-org/your-repo
Devin が行うこと: イベントの前提情報をすべて含むセッションを開始し、以下のプロンプトを実行し、失敗した場合は (必要に応じて) 通知します。

前提条件

プロンプトの例

このテンプレートには、次のプロンプトが含まれています。Use template をクリックしたあとで編集することも、そのまま使うこともできます。

設定方法

  1. Devin で Automations → Templates を開きます。
  2. SonarQube Quality Gate Fix をクリックします。このテンプレートがあらかじめ入力された作成ページが開きます。
  3. 必要な統合 を接続し、まだであれば MCP サーバーをインストールします。
  4. トリガー条件内のプレースホルダー値を置き換えます (たとえば、your-org/your-repo を実際のリポジトリに置き換えます) 。
  5. プロンプトを確認し、チームの言い回し、規約、ガードレールに合わせて調整します。
  6. Create automation をクリックします。
ほとんどのオートメーション テンプレートには、初期ロールアウト時のコストを抑えるための 推奨 ACU 上限と呼び出し回数の上限 が含まれています。オートメーションの挙動に十分な確信が持てるまではそのままにし、その後、ワークロードに合わせて引き上げてください。

このテンプレートを利用すべきケース

  • CI で SonarQube の品質ゲートが必須となっている Enterprise
  • 技術的負債が大きく、段階的なクリーンアップが必要なレガシーコードベース
  • 負担を増やさずに品質管理を徹底したいチーム
  • 新しいリポジトリを、より厳格な品質ゲートへ段階的に移行したい場合

カスタマイズのアイデア

  • 特定のプロジェクト、プロファイル、またはルールセットに絞り込む
  • どのルールカテゴリで自動化をトリガーするかを調整する
  • チーム固有のカスタムパターンには、Code Pattern Enforcer と組み合わせる
  • CI 全体をカバーするには、CI Failure Fixer と連携させる

関連項目