このテンプレートを利用する
Devin で CI Failure Fixer を開き、デフォルト設定で自動化を作成します。保存する前にカスタマイズすることもできます。
実際の手順を確認したい場合は、CI Failure Fixer のステップごとのチュートリアルをご覧ください。
この自動化でできること
check_run Webhook を Devin のセッションに接続します。Devin は PR と失敗したジョブの URL を含む前提情報をすべて把握しているため、ブランチを取得し、ローカルで失敗を再現し、手元のノートパソコンを開くことなく修正を繰り返し進められます。この自動化には、devin-ai-integration[bot] が作成したコミットを skip する組み込みのガードも含まれているため、Devin が自分で加えた変更を延々と修正し続けるループに陥ることはありません。
動作の仕組み
check.run
- イベント:
github:check_run- 条件:
actioneqcompletedcheck_run.conclusioneqfailurerepository.full_nameeqyour-org/your-repo
- 条件:
前提条件
- 統合:
プロンプトの例
セットアップ
- DevinでAutomations → Templatesを開きます。
- CI Failure Fixer をクリックします。このテンプレートがあらかじめ入力された状態で、作成ページが開きます。
- 必要な統合を接続し、まだインストールしていない場合はMCPサーバーをインストールします。
- トリガー条件内のプレースホルダー値を置き換えます (たとえば、
your-org/your-repoを実際のリポジトリに置き換えます) 。 - プロンプトを確認し、チームの言い回し、慣習、ガードレールに合わせて調整します。
- Create automation をクリックします。
このテンプレートを利用する場面
- 夜間や勤務時間外のマージを止めてしまう不安定なテスト
- 手作業では直したくない lint、型チェック、フォーマットのエラー
- コミュニティのPRで発生する import 漏れ、古いスナップショット、軽微なテスト失敗
- 別のエンジニアの集中作業を中断させることなく、開発者の作業を先に進めること
カスタマイズのアイデア
- トリガーの対象を単一のリポジトリに限定する、またはorg内のすべてのリポジトリに広げる
- 特定のチェック名でのみ実行される条件を追加する (e.g.
lintのみで、マトリクス全体では実行しない) - テストスイートの実行時間が長い場合は ACU の上限を引き上げ、コストを抑えたい場合は引き下げる
- 失敗時に Slack 通知 と組み合わせることで、Devin が諦めたときに人間のレビュアーが対応できるようにする
