メインコンテンツへスキップ
CI Failure Fixer 自動化は、人の手を介さずにプルリクエストを常に正常な状態に保ちます。Devin 以外が作成した PR で CI チェックが失敗するたびに、Devin は失敗したジョブを開いてビルドログとテストログを読み取り、根本原因を特定し、同じブランチに修正を push します。その後、チェックが通ることを確認するためにテストスイートを再実行します。

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

Devin で CI Failure Fixer を開き、デフォルト設定で自動化を作成します。保存する前にカスタマイズすることもできます。
実際の手順を確認したい場合は、CI Failure Fixer のステップごとのチュートリアルをご覧ください。

この自動化でできること

このテンプレートは、GitHub の check_run Webhook を Devin のセッションに接続します。Devin は PR と失敗したジョブの URL を含む前提情報をすべて把握しているため、ブランチを取得し、ローカルで失敗を再現し、手元のノートパソコンを開くことなく修正を繰り返し進められます。この自動化には、devin-ai-integration[bot] が作成したコミットを skip する組み込みのガードも含まれているため、Devin が自分で加えた変更を延々と修正し続けるループに陥ることはありません。

動作の仕組み

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

前提条件

プロンプトの例

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

セットアップ

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

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

  • 夜間や勤務時間外のマージを止めてしまう不安定なテスト
  • 手作業では直したくない lint、型チェック、フォーマットのエラー
  • コミュニティのPRで発生する import 漏れ、古いスナップショット、軽微なテスト失敗
  • 別のエンジニアの集中作業を中断させることなく、開発者の作業を先に進めること

カスタマイズのアイデア

  • トリガーの対象を単一のリポジトリに限定する、またはorg内のすべてのリポジトリに広げる
  • 特定のチェック名でのみ実行される条件を追加する (e.g. lint のみで、マトリクス全体では実行しない)
  • テストスイートの実行時間が長い場合は ACU の上限を引き上げ、コストを抑えたい場合は引き下げる
  • 失敗時に Slack 通知 と組み合わせることで、Devin が諦めたときに人間のレビュアーが対応できるようにする

関連項目