メインコンテンツへスキップ
CircleCI で CI Failure Fixer パターンを実現します。プルリクエストで CircleCI のワークフローが失敗すると、この自動化によってパイプライン全体の前提情報を含む Devin セッションが起動します。Devin は CircleCI MCP を利用してジョブのログ、テストレポート、アーティファクト出力を取得し、同じブランチに修正用のコミットをプッシュします。

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

Devin で CircleCI 失敗対処法 を開き、デフォルト設定で自動化を作成します。保存する前にカスタマイズできます。

この自動化でできること

CircleCI MCP により、Devin は CI と深く統合され、単なる成功/失敗のステータスだけでなく、ログストリーム全体、テスト結果、アーティファクト、設定まで把握できます。つまり、「テストが失敗した」という情報と、「47 行目のこのアサーションは、先週期待文字列が変わったために失敗した」という具体的な情報との違いです。Devin はその前提情報を利用して、最初から実際に機能する修正を実現します。

仕組み

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

前提条件

プロンプトの例

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

設定方法

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

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

  • GitHub Actions ユーザーと同じ自動修正パターンを求める、CircleCI を運用しているチーム
  • 複数ジョブをオーケストレーションする複雑な CircleCI ワークフロー
  • レガシーな CI パイプラインを正常な状態に保つ負担を減らしたい場合
  • 大規模なリファクタリング作業中に、開発者の手詰まりを自動的に解消したい場合

カスタマイズのアイデア

  • 特定のパイプラインやブランチに限定する
  • 通常のパイプラインの複雑さに応じて、ACU の上限を調整する
  • 修正ループを防ぐため、ボットによるコミットはスキップする
  • 品質を完全に自動化するには、SonarQube Quality Gate 対処法と組み合わせる

関連項目