Claude Code GitHub ActionsにIssue及びレビュー修正を自動でやってもらう
準備
- https://docs.anthropic.com/ja/docs/claude-code/github-actions に沿ってセットアップを行う
- ざっくりとこんな感じの汎用GitHub Actionsを作る
name: Claude Code
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, labeled]
jobs:
claude-pr:
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 == 'issues' && (
contains(github.event.issue.body, '@claude') ||
contains(join(github.event.issue.labels.*.name, ','), 'claude')
))
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
# 利用環境に応じてトークン等適当に設定する
# https://github.com/anthropics/claude-code-action
# https://docs.anthropic.com/ja/docs/claude-code/github-actions
- name: Run Claude PR Action
uses: anthropics/claude-code-action@beta
with:
trigger_phrase: "@claude"
assignee_trigger: "claude"
label_trigger: "claude"
timeout_minutes: "60"
github_token: ...
model: "claude-sonnet-4@20250514"
allowed_tools: "Bash(git:*),mcp__github__create_pending_pull_request_review,mcp__github__add_pull_request_review_comment_to_pending_review,mcp__github__submit_pending_pull_request_review,mcp__github__get_pull_request_diff"
additional_permissions: |
actions: read
できること
claude
とラベルを付けたら自動でIssueに取り組んで、PRを作ってもらう
1.
画像中の Create PR
リンクを押すと、自動生成されたPRタイトル・説明付きでPRを作ることができます。急にPRを作ったりすることがなく、PR一覧を汚さないので比較的謙虚な挙動です。
さらにSlackからIssueを作る仕組みを用意すれば、SlackからClaude Codeに依頼するワークフローも作れそうです。
@claude
とメンションしたら自動で修正をpushさせる
2. 任意のPRで、
任意のPRから発火できるのがポイントで、例えば自分のPRに指摘があったとき、簡単な修正は @claude
で解決するようになりました。
PRを作ったあとは大抵別の作業をしているので、指摘によって作業を切り替える手間が無くなって助かっています。
似たようなツールが沢山ある中でClaude Code GitHub Actionsを使う理由は?
GitHub Copilot Coding AgentやDevin等でもだいたい似たようなことはできます。
その中でClaude Code GitHub Actionsを使う理由は以下の2点だと思っています。
- 挙動を柔軟にカスタマイズできる
- Claude Codeの性能が出る
例えば、GitHub Copilot Coding Agentは複雑なセットアップも必要なく、IssueのAsigneeにCopilitを設定することでIssueに取り組んでもらうことができます。一方、この手軽さゆえにカスタマイズには向かず、「特定のラベル・ワードが付いたら発火したい」「出力結果やタスクの取り組み方を調整したい」といった場合にはClaude Codeに軍配が上がります。やっていることはClaude CodeをCLIで実行するGitHub Actionsでしか無いので、こちらはGitHub Actionsの範疇であればなんとでもなる感じがあります。
(Copilotでも一応カスタム命令は書けます)
また、性能面でもGitHub Copilot Coding Agentは恐らくOpenAIのモデルを使っていて、エージェントとしての挙動はブラックボックスです。Claude Code GitHub Actionsの場合、モデルが(コーディングエージェントとしての性能が高いとされる)Claude Sonnet 4/Claude Opus 4から選択でき、さらにエージェント自身の挙動も普段使うClaude Codeとほぼ同等です。
Issueを任せる際には「このIssueはAIに実行できるタスクか?」と正しく判断することが重要になるので、「Claude Codeならまあ、いけるだろう」と、普段手元で使うClaude Codeの性能から推測できるのは非常に心強いです。
Discussion