GitHub に Devin の APIキーを保存する
このワークフローは、セッションをプログラム的に作成するために Devin の v3 API を呼び出します。サービスユーザーを作成し、そのトークンを GitHub Actions のシークレットとして保存します。
- app.devin.ai > Settings > Service Users に移動し、
ManageOrgSessions権限を持つサービスユーザーを作成してください - 作成後に表示される API トークンをコピーしてください — 一度しか表示されません
- GitHub リポジトリで Settings > Secrets and variables > Actions に移動してください
- 2 つのシークレットを追加してください:
DEVIN_API_KEY(トークン)とDEVIN_ORG_ID(組織 ID — トークンを使ってGET https://api.devin.ai/v3/enterprise/organizationsを呼び出して取得します)
ワークフローファイルを追加する
.github/workflows/devin-ci-fix.yml を作成します。このワークフローは、既存の CI ワークフローが失敗で終了するたびに起動し、失敗したジョブ名を抽出して、Devin API を呼び出して修正用セッションを開始します。workflows 配列内の "CI" を、既存の CI ワークフローファイルで設定されている正確な name: の値(例: "Tests"、"Build & Test")に置き換えます。リクエストボディ内の tags フィールド(例: "tags": ["ci-fix", "pr-312"])を使用して、どの CI 障害で既にセッションがトリガーされたかを追跡し、重複を防ぎます。CI が失敗した場合
PR の CI 実行が失敗したとき、Action は失敗の詳細を抽出し、それをセッションプロンプトとして Devin に渡します。典型的な自動修正フローは次のとおりです。
- CI ログを読む — Devin は実行 URL を開き、失敗したジョブのエラー出力、スタックトレース、テスト結果を解析します
- エラーをコードまでトレースする — PR ブランチ上の該当ファイルと行(例:
UserList.tsx:34)を特定し、その周辺のコードや直近の差分を読みます - 修正をプッシュする — PR ブランチに対して対象を絞った変更を直接コミットし、自動的に CI を再実行させます
- PR にコメントする — 根本原因と、何がどのように変更されたかを説明する要約を投稿します
対象を適切な失敗に絞る
すべての CI の失敗が自動修正の恩恵を受けられるわけではありません。インフラのタイムアウトや Docker ビルドの問題は、コード変更では解決できません。関連するジョブの失敗のときにだけ Devin がトリガーされるよう、条件を追加してください。
