Claude Code API活用ガイド|自動化・CI/CD連携の方法
Claude Code APIとは
Claude Code APIは、Claude Codeの機能をプログラムから呼び出すための仕組みです。対話的なCLI操作だけでなく、スクリプトやCI/CDパイプラインに組み込むことで、コードレビューやテスト生成、ドキュメント作成などを自動化できます。Claude Codeの基本操作についてはClaude Code 使い方 完全ガイドで解説しています。
APIキーの取得と認証設定
Claude Code APIを利用するには、Anthropicの APIキーが必要です。
APIキーの取得手順
- Anthropic Console にログイン
- 「API Keys」セクションに移動
- 「Create Key」をクリックして新しいキーを生成
- 生成されたキーを安全に保管
環境変数の設定
APIキーは環境変数として設定するのが安全です。
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxxxxxxx"
本番環境やCI/CDでは、シークレット管理サービス(GitHub Secrets、AWS Secrets Managerなど)を利用しましょう。.env ファイルに直接記載してリポジトリにコミットすることは避けてください。
非対話モードでの利用
Claude Codeをスクリプトから利用する場合、--print(-p)フラグを使って非対話モードで実行します。
# 単発のコード生成
claude -p "Pythonでフィボナッチ数列を生成する関数を書いて"
# ファイルを指定してレビュー
claude -p "このコードのバグを見つけて" < src/app.ts
# JSON形式で出力
claude -p --output-format json "package.jsonの依存関係を分析して"
非対話モードでは、ユーザーの確認なしに結果が標準出力に返されるため、パイプラインに組み込みやすい設計になっています。
CI/CDパイプラインへの組み込み
GitHub Actionsでの活用例
プルリクエスト作成時に自動でコードレビューを行う設定例です。
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run Code Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
git diff origin/main...HEAD | claude -p "このdiffをレビューしてください。バグ、セキュリティリスク、パフォーマンスの問題があれば指摘してください。" > review.txt
- name: Post Review Comment
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const review = fs.readFileSync('review.txt', 'utf8');
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## AI Code Review\n\n${review}`
});
テスト自動生成
新しいファイルが追加されたときに、自動でテストを生成するスクリプトの例です。
#!/bin/bash
# 変更されたファイルに対してテストを生成
for file in $(git diff --name-only HEAD~1 -- '*.ts' '*.tsx'); do
claude -p "以下のファイルに対するユニットテストをJest形式で生成してください: $(cat $file)" > "${file%.ts}.test.ts"
done
バッチ処理での活用
複数のファイルに対して一括で処理を行いたい場合の実践例です。
ドキュメント一括生成
#!/bin/bash
# srcディレクトリ内の全TypeScriptファイルにJSDocを追加
find src -name "*.ts" -not -name "*.test.ts" | while read file; do
claude -p "このTypeScriptファイルにJSDocコメントを追加してください。既存のコメントは保持してください。" < "$file" > "${file}.tmp"
mv "${file}.tmp" "$file"
done
コードの一括マイグレーション
# React Class ComponentをFunction Componentに変換
claude -p "以下のReact Class ComponentをFunction Component(Hooks使用)に変換してください" < src/components/OldComponent.tsx > src/components/OldComponent.tsx.new
コスト管理のポイント
API利用にはトークンベースの課金が発生します。コストを適切に管理するためのポイントを紹介します。
コスト最適化の方法
- プロンプトを簡潔に: 不要な文脈を含めず、必要最小限の情報を渡す
- モデルの使い分け: 簡単なタスクにはコストの低いモデルを選択
- キャッシュの活用: 同じプロンプトの繰り返し実行を避ける
- 利用上限の設定: Anthropic Consoleで月額利用上限を設定
使用量のモニタリング
# Claude Codeの利用状況を確認
claude --usage
Anthropic Consoleのダッシュボードでも、日別・週別のAPI使用量をグラフで確認できます。チームで利用する場合は、プロジェクトごとにAPIキーを分けて管理することをおすすめします。
セキュリティ上の注意点
API連携時に気をつけるべきセキュリティ事項です。
- APIキーをコードにハードコードしない: 必ず環境変数またはシークレット管理サービスを使用
- 機密データを送信しない: 個人情報やパスワードを含むコードはAPI経由で送信しない
- 権限を最小限に: CI/CDで使うAPIキーには必要最小限の権限を付与
- ログの管理: APIレスポンスに機密情報が含まれる場合、ログへの出力に注意
まとめ
Claude Code APIを活用することで、コードレビュー、テスト生成、ドキュメント作成などの定型作業を大幅に自動化できます。特にCI/CDパイプラインとの組み合わせは、開発チームの生産性向上に直結します。まずは小さなスクリプトから始めて、徐々に自動化の範囲を広げていくのがおすすめです。API利用時の料金プランやコスト管理も事前に確認しておきましょう。繰り返し実行するタスクはSkillsとしてテンプレート化すると効率的です。