OmochiXを検索

Esc で閉じる

AI開発

Claude CodeでCI失敗を自動修正する|GitHub Actions・Playwrightのエラー解析から再テストまで【2026年版】

AIがコードを書けるようになっても、CIが失敗するたびに人間がログを開き、原因を調べ、コードを修正しているなら、開発工程にはまだ大きな手作業が残っています。 そこで次に自動化したいのが、CI失敗後の原因調査と修正です。 […]

OmochiX 公開 更新 約13分で読めます
ChatGPT Image 2026年9月15日 00 53

AIがコードを書けるようになっても、CIが失敗するたびに人間がログを開き、原因を調べ、コードを修正しているなら、開発工程にはまだ大きな手作業が残っています。

そこで次に自動化したいのが、CI失敗後の原因調査と修正です。

Claude Code ActionをGitHub Actionsと組み合わせると、ClaudeからCIの状態やJob Logを確認し、失敗原因を調査してコード修正へ進むワークフローを構築できます。

さらにPlaywrightのE2E結果やTrace、Screenshotまで組み合わせれば、単なるコードエラーだけでなく、実際のユーザー操作で発生した不具合の調査にも広げられます。

この記事でわかること

  • Claude CodeからGitHub ActionsのCI結果を確認する方法
  • actions: readとadditional_permissionsの役割
  • CIログから原因調査→最小修正する流れ
  • Playwright失敗時に見るべき情報
  • AIにテストを直させるときのガードレール

結論

Claude Code ActionにGitHub Actionsの読み取り権限を与えることで、CI失敗の確認、Workflow詳細、Job Logの解析までClaudeに任せられます。重要なのは「テストを通すこと」ではなく、「失敗原因を特定し、仕様を維持したまま最小修正すること」です。

今回作るCI修正フロー

目指すのは、次のような開発ループです。

AI CI Repair Loop FLOW
Claude Code
↓
Implementation
↓
Push / Pull Request
↓
GitHub Actions
↓
Lint / Typecheck / Build / E2E
↓
PASS ─────────────→ Human Review
↓
FAIL
↓
Claude Code
↓
CI Status
↓
Job Log
↓
Playwright Error
↓
原因調査
↓
最小修正
↓
Commit
↓
GitHub Actions再実行

これまで人間が行っていた「ログを読む→原因を探す→直す」という部分まで、AI開発フローへ組み込むのが今回のテーマです。

Claude Code ActionはCI結果を読める

Anthropic公式のClaude Code Actionでは、必要な権限を設定すると、GitHub ActionsのWorkflow RunやJob LogをClaudeから参照できます。

設定のポイントは2つあります。

GitHub Permission

Workflow側のGitHub TokenへActionsの読み取り権限を与えます。

  • actions: read
  • contents
  • pull-requests

Claude Permission

Claude Code Action側にもActionsへの追加アクセスを指定します。

  • additional_permissions
  • actions: read
  • CI tools

GitHub Actionsの権限を設定する

まずWorkflow側で、ClaudeがGitHub Actionsを読めるようにします。

.github/workflows/claude.yml YAML
permissions:
  contents: write
  pull-requests: write
  issues: write
  actions: read

続いてClaude Code Action側へ、追加権限を指定します。

Claude Code Action YAML
- name: Run Claude Code
  uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

    additional_permissions: |
      actions: read

これによりClaude Code ActionからCIの状態やWorkflow情報、Job Logを確認できるようになります。

Key Point

GitHub側のpermissionsとClaude Code Action側のadditional_permissionsの両方を設定することがポイントです。

Claudeが利用できるCI情報

Anthropicの公式設定では、Actionsへの読み取り権限を有効にすると、Claude Code ActionからCI用のツールを利用できます。

確認できる代表的な情報

  • Workflowの実行状態
  • Workflow Runの詳細
  • 失敗したJob
  • Job Log
  • PR上のCI Status

つまり、人間がGitHub Actions画面を開いて調べていた情報を、Claude自身が確認できるようになります。

まずは「原因調査」から任せる

いきなり自動修正まで許可する必要はありません。

最初はPR上でClaudeへ、CI失敗の原因だけを調べてもらう運用でも十分有効です。

PR Comment TEXT
@claude

CIが失敗している原因を調査してください。

確認するもの:
- GitHub Actions status
- 失敗したjob
- job log
- 今回のgit diff
- 関連テスト

まだコードは変更せず、

1. 原因
2. 影響範囲
3. 最小修正案
4. 回帰リスク

を報告してください。

これなら、人間が原因を確認してから修正を許可できます。

次に最小修正まで任せる

原因分析が安定してきたら、修正までClaudeへ任せます。

PR Comment TEXT
@claude

現在のCI失敗について、

原因調査
↓
最小修正
↓
関連テスト
↓
lint
↓
typecheck
↓
build
↓
E2E
↓
diff report

まで進めてください。

重要:

・テストを通すためだけにassertionを弱めない
・失敗テストをskipしない
・不要なtimeout延長をしない
・無関係なコードを変更しない
・仕様変更が必要なら勝手に変更せず報告する
・修正後も既存機能の回帰を確認する

このように、AIへ「PASSさせろ」とだけ指示するのではなく、修正ルールも一緒に与えることが重要です。

Playwrightが失敗した場合は何を見る?

E2Eテストでは、単純なコンパイルエラーより原因が複雑になることがあります。

Playwrightが落ちた場合は、最低でも次の情報を確認します。

Error Log

どの操作・Assertionで失敗したかを確認します。

  • Locator
  • Assertion
  • Timeout

Trace

ブラウザ操作やNetworkなど、失敗直前までの状態を追跡します。

  • Actions
  • DOM
  • Network

Screenshot

期待したページが表示されていたかを視覚的に確認します。

  • UI State
  • Error Page
  • Unexpected UI

CI失敗には種類がある

すべてのFAILを同じように扱わないことも重要です。

Failure Classification FLOW
CI FAIL
│
├── Lint
│   └── Code Style / Rule
│
├── Typecheck
│   └── Type Error
│
├── Unit Test
│   └── Logic / Regression
│
├── Build
│   └── Dependency / Env / Compile
│
├── E2E
│   └── UI / API / Auth / DB
│
└── Infrastructure
    └── CI / Network / Service

たとえばInfrastructure側の一時的な失敗を、アプリコードを変更して直そうとすると、逆に不要な変更が入ってしまいます。

Key Point

「何が失敗したか」だけでなく、「アプリの問題なのか、テストの問題なのか、環境の問題なのか」を分類してから修正します。

一番危険なのはテストを弱くすること

AIへ修正を任せるときに最も注意したいのが、テストそのものを変更してPASSさせてしまうケースです。

避けたい修正

assertion削除、テストskip、極端なtimeout延長、期待値の緩和などによってCIを緑にするだけでは、品質問題を隠しているだけの場合があります。

AIには最初から、次の優先順位を渡しておくと安全です。

  1. 1

    仕様を確認

    現在期待されている正しい動作を確認します。

  2. 2

    失敗原因を特定

    Code・Test・Environmentのどこが原因かを分類します。

  3. 3

    最小修正

    原因に直接関係する部分だけを変更します。

  4. 4

    回帰確認

    直した機能だけでなく関連機能も確認します。

Claude Code ActionのBranch動作

Claude Code Actionは、実行されたコンテキストによってBranchの扱いが変わります。

Anthropic公式ドキュメントでは、Open中のPull RequestでClaudeを起動した場合、そのPRの既存Branchへ変更をPushできます。

一方でIssueから作業する場合は新しいBranchを作る設計です。

安全な運用

AIへmainへの直接変更を許可するより、Feature Branch / Pull Request上で修正させ、CIを通したあと人間が最終承認する構成の方が扱いやすくなります。

ClaudeにPRを勝手にマージさせない

自動化を進めても、Productionへ入る最後の境界まで無人にする必要はありません。

Claude Code ActionはデフォルトでPRを自動作成するのではなく、BranchへCommitしたうえでPR作成用のリンクを提示する設計になっています。

Branch ProtectionやRequired Checksと組み合わせて、人間のApprovalを残す構成が安全です。

Recommended Gate FLOW
AI Implementation
↓
Pull Request
↓
CI
↓
FAIL
↓
AI Fix
↓
CI PASS
↓
Required Checks PASS
↓
Human Review
↓
Merge

GitHub Actionsの再実行について

GitHub Actionsでは、Workflow全体、失敗したJob、特定Jobを再実行できます。

ただし「同じRunをそのまま再実行する」のと、「Claudeがコードを修正して新しいCommitをPushし、そのCommitで新しいCIが走る」のは別です。

アプリコードに原因がある場合は、修正Commitによって新しいCIを発生させる方が自然です。

無限修正ループを作らない

FAIL→AI修正→FAIL→AI修正を無制限に繰り返す構成は避け、修正回数の上限や人間へエスカレーションする条件を決めておく方が安全です。

自動修正の停止条件を決める

AI自動修正を運用するなら、成功条件だけでなく停止条件も重要です。

人間へ戻したいケース

  • 同じテストが複数回連続で失敗する
  • 仕様変更が必要
  • Database Migrationを伴う
  • Auth・決済・権限周辺の変更
  • 大量のファイル変更が必要
  • 原因を特定できない

権限は必要最小限にする

AIエージェントへGitHubを操作させる以上、権限設計は非常に重要です。

CIログを見るだけなら、Actionsには読み取り権限だけを与えるのが基本です。

使わない権限を念のため付与するのではなく、必要になった権限だけを明示的に追加します。

OmochiX View

AI開発では「AIをどれだけ賢くするか」だけでなく、「失敗しても被害が限定される権限と環境を作ること」が同じくらい重要です。

ここまでつなぐとAI開発ループが完成してくる

これまで構築してきたPreview・QA DB・E2E・CI修正をまとめると、次のような構成になります。

AI Development System FLOW
Issue / Specification
↓
Claude Code
↓
Feature Branch
↓
GitHub
↓
Vercel Preview
↓
QA Database
↓
GitHub Actions
↓
Playwright
↓
PASS ───────────────→ Human Review
↓
FAIL
↓
Claude Code
├── CI Status
├── Job Log
├── Trace
├── Screenshot
└── Git Diff
↓
Root Cause Analysis
↓
Minimal Fix
↓
Commit
↓
CI / E2E
↓
PASS
↓
Human Approval

ここまで来ると、AIは単にコードを生成するだけではありません。

実装 → 検証 → 失敗分析 → 修正 → 再検証という開発ループそのものへ参加できるようになります。

完全無人化よりHuman in the Loop

技術的に自動化できる範囲が広がっても、すぐにProductionまで完全無人化する必要はありません。

特に初期段階では、AIが何度でも安全に試せる環境を作りつつ、最後の承認だけ人間に残す設計が現実的です。

おすすめ構成

AIには実装・原因調査・最小修正・再テストまで任せ、人間は仕様判断・高リスク変更・Productionへの最終承認を担当する。この役割分担から始めると、自動化と安全性を両立しやすくなります。

3行まとめ

  • Claude Code Actionはactions: readを設定するとGitHub ActionsのCI結果やJob Logを確認できる
  • CI失敗では原因分類→最小修正→回帰確認の順で進め、テストを弱くしてPASSさせない
  • Preview・QA DB・Playwrightと組み合わせれば、実装→検証→修正→再検証のAI開発ループを構築できる

次はSentryの本番エラーをClaude Codeへつなぐ

CIやE2Eは、本番へ出す前の問題を検出する仕組みです。

しかし実際のサービス運用では、本番に出したあとにしか発生しないエラーもあります。

次のステップでは、Sentryで検知したエラーからIssueを作り、Claude Codeへ原因調査・修正をつなげる運用を考えていきます。

あわせて読みたい

Claude Code × Vercel Preview × Playwrightで自動E2E環境を作る

CI修正を自動化する前に、実際のPreview環境でE2Eを動かす仕組みを確認したい方はこちら。

記事を読む

AI開発支援

自社のAI開発・自動QA環境を構築したい方へ

Claude Code、GitHub Actions、Vercel、Playwrightなどを組み合わせたAI開発環境の設計・導入を支援します。

AI開発について相談する

出典:Anthropic Claude Code Action公式ドキュメント / GitHub Actions公式ドキュメント / Microsoft Playwright公式ドキュメント

NEXT STEP

次に知りたいAI情報へ。

自分に合うAIツールを探す 最新のAIニュースをもっと見る

OmochiXをフォロー

最新のAIニュースや活用情報をSNSでも配信しています。