タコの刺身のイラスト

Claude Code Action で Claude Code を GitHub に統合しよう

Claude Code Action は Claude Code を GitHub Actions のワークフローに統合するためのアクションです。これを使用することで、GitHub 上でコードの生成やレビューを AI に依頼することができます。

音声による概要

この音声概要は AI によって生成されており、誤りを含む可能性があります。

Claude Code ActionClaude Code を GitHub Actions のワークフローに統合するためのアクションです。これを使用することで、GitHub 上でコードの生成やレビューを AI に依頼できます。

Claude Code Action のセットアップ

Claude Code Action のセットアップは非常に簡単です。ターミナル上で Claude Code を使用してコマンドを実行するだけです。前提として Claude Code をインストールしておく必要があります。

npm install -g @anthropic-ai/claude-code

claude コマンドを実行してインタラクティブなセッションを開始します。

claude

/install-github-app コマンドを実行すると必要な GitHub アプリとシークレットの設定が行われます。Claude Code Action を使用したいリポジトリのルートディレクトリで実行しましょう。

Note

/install-github-app コマンドを実行するためには gh コマンドが必要です。事前にインストールしておき、gh auth login でログインしておいてください。

実際にコマンドを実行してみると、現在のリポジトリに GitHub アプリをインストールするか、他のリポジトリにインストールするかを選択できます。ここでは現在のリポジトリにインストールすることを選びます。

リポジトリを選択すると GitHub アプリ「Claude」のインストールする画面が表示されます。必要な権限を確認し、「Install」ボタンをクリックします。

GitHub アプリのインストールが完了したらターミナルに戻って Enter キーをクリックします。

現在 Claude Code で使用している API キーをそのまま使用するか、別の API キーを作成するかを選択できます。ここではそのまま使用することを選びます。

GitHub 上の UI で「Settings」→「Secrets and variables」→「Actions」を確認すると ANTHROPIC_API_KEY というシークレットが追加されていることが確認できます。

最後に Claude Code Action を導入するプルリクエストが作成され、ブラウザが開きます。

プルリクエストでは .github/workflows/claude.yml というワークフローファイルが追加されています。

.github/workflows/claude.yml
name: Claude Code
 
# Issue やプルリクエストのコメント、プルリクエストのレビュー、Issue のオープンやアサイン時にワークフローを実行する
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  issues:
    types: [opened, assigned]
  pull_request_review:
    types: [submitted]
 
jobs:
  claude:
    # Issue やプルリクエストのコメントに @claude が含まれる場合にワークフローが実行される
    if: |
      (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
      (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
      (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: read
      issues: read
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 1
 
      - name: Run Claude Code
        id: claude
        uses: anthropics/claude-code-action@beta
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

このワークフローは Issue やプルリクエストのコメント、プルリクエストのレビュー、Issue のオープンやアサイン時に実行されます。さらに if 条件によって、コメントやレビューの本文に @claude が含まれる場合にのみジョブが実行されるようになっています。

このプルリクエストをマージすると、GitHub Actions のワークフローが有効になります。

Claude Code Action を試してみる

実際に Claude Code Action がどのように動作するか試してみましょう。まずは通常の開発のワークフローと同じように機能を追加するための Issue を作成します。「マークダウン記法として <video> タグをサポートする」という内容の Issue を作成しました。

@claude でメンションして「課題の説明に基づいてこの機能を実装してください」とコメントを追加します。

GitHub Actions のワークフローが実行され、タスクリストが生成されて Claude によってコメントが追加されました。

ワークフローのログを確認すると、Claude の思考過程が表示されます。

しばらく待つとタスクが完了し、Claude が作成したブランチに commit が追加されました。「Create PR ➔」のリンクが Issue のコメントに追加されているので、クリックしてプルリクエストを作成します。

CI が諸々失敗していたので、@claude に CI の修正を依頼するコメントを追加しました。

許可されている Bash コマンド以外は実行できないとのことだったので、残りの修正は人間が行うことにしました。今回の例では Claude がプルリクエストを作成した段階で CI が失敗してしまっているという残念な結果でしたが、これは Claude Code の設定を正しく行うことで改善できる可能性があります。

使用可能なコマンドは anthropics/claude-code-actionwith.allowed_tools オプションで指定できるようです。このあたりはプロジェクトの要件に応じて調整が必要でしょう。

.github/workflows/claude.yml
      - name: Run Claude Code
        id: claude
        uses: anthropics/claude-code-action@beta
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          allowed_tools: [
            "bash",
            "git",
            "gh"
          ]

またプロジェクトのルートディレクトリに CLAUDE.md ファイルを作成してコードのスタイルやプロジェクトの構造、コマンドの実行方法などを記述することもうまく Claude を働かせるために有効なプラクティスとして推奨されています。CLAUDE.md ファイルは claude コマンドで /init を実行すると自動的に生成してくれます。

最後にプルリクエストのレビューを依頼するために「@claude このプルリクエストをレビューしてください」とコメントを追加しました。

ここまでが Claude Code Action を使用した基本的な使い方です。参考までにこのタスクを完了するまでのコスト claude-opus-4-20250514 を使用して約 $4 でした。

特定のタイミングでタスクを依頼する

.github/workflows/claude.yml ファイルでは Issue やプルリクエストのコメントに @claude を含む場合にワークフローが実行されるようになっています。通常の GitHub Actions のように Pull Request の作成やワークフローが dispatch されたときのように Claude を呼び出すような設定も可能です。

例としてプルリクエストの作成時に /contents/blogPost ディレクトリにある記事のレビューを依頼するワークフローを作成してみましょう。

.github/workflows/review-with-claude.yml
name: Review with Claude
# 新しいプルリクエストが作成されたときと更新された時にワークフローを実行
on:
  pull_request:
    types: [opened, synchronize]
    paths:
      # 記事を保存しているディレクトリが変更されたときのみワークフローを実行する
      - contents/blogPost/**/*.md
jobs: 
  article-review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
 
      - name: Run Claude Code
        id: claude
        uses: anthropics/claude-code-action@beta
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          # レビューを依頼するプロンプトを指定
          direct_prompt: |
            あなたは優秀な編集者です。PRの内容を確認し、以下の点についてレビューしてください。
            - 誤字脱字や文法の誤り
            - 内容の不明瞭な箇所
            - 記事の構成や流れ

以下のようにプルリクエストを作成したタイミングでワークフローが実行され、記事をレビューした結果がコメントとして投稿されます。指摘した誤字脱字はそのまま commit して修正してくれました。

まとめ

  • Claude Code Action を使用すると、GitHub Actions のワークフローで Claude Code を簡単に利用できる
  • Claude Code で /install-github-app コマンドを実行することで GitHub アプリのインストールとシークレットの設定が行える
  • プルリクエストのコメントやレビューで @claude をメンションすることで AI にタスクを依頼できる
  • 通常の GitHub Actions のように特定のイベントでワークフローを実行することも可能
  • プロジェクトのルートディレクトリに CLAUDE.md ファイルを作成してコードのスタイルやプロジェクトの構造を記述することで Claude の理解を助けることができる
  • anthropics/claude-code-actionwith.allowed_tools オプションで使用可能なコマンドを制限できる

参考

記事の理解度チェック

以下の問題に答えて、記事の理解を深めましょう。

Claude Code 上で Claude Code Action をセットアップするために必要なコマンドは何ですか?

  • /install-github-app

    正解!

  • /setup-github-app

    もう一度考えてみましょう

  • /configure-github-app

    もう一度考えてみましょう

  • /add-github-app

    もう一度考えてみましょう