Claude Code GitHub Actions 為您的 GitHub 工作流程帶來 AI 驅動的自動化。只需在任何 PR 或 issue 中簡單地提及 @claude,Claude 就能分析您的程式碼、建立拉取請求、實作功能並修復錯誤 - 同時遵循您專案的標準。

Claude Code GitHub Actions 建立在 Claude Code SDK 之上,該 SDK 能夠將 Claude Code 程式化整合到您的應用程式中。您可以使用 SDK 建立 超越 GitHub Actions 的自訂自動化工作流程。

為什麼使用 Claude Code GitHub Actions?

  • 即時 PR 建立:描述您的需求,Claude 會建立包含所有必要變更的完整 PR
  • 自動化程式碼實作:使用單一指令將 issue 轉換為可運作的程式碼
  • 遵循您的標準:Claude 尊重您的 CLAUDE.md 指導原則和現有的程式碼模式
  • 簡單設定:使用我們的安裝程式和 API 金鑰在幾分鐘內開始使用
  • 預設安全:您的程式碼保留在 Github 的執行器上

Claude 能做什麼?

Claude Code 提供強大的 GitHub Action,改變您處理程式碼的方式:

Claude Code Action

此 GitHub Action 允許您在 GitHub Actions 工作流程中執行 Claude Code。您可以使用它在 Claude Code 之上建立任何自訂工作流程。

檢視儲存庫 →

設定

快速設定

設定此 action 最簡單的方法是透過終端機中的 Claude Code。只需開啟 claude 並執行 /install-github-app

此指令將引導您設定 GitHub 應用程式和必要的密鑰。

  • 您必須是儲存庫管理員才能安裝 GitHub 應用程式和新增密鑰 - 此快速入門方法僅適用於直接 Anthropic API 使用者。如果 您使用 AWS Bedrock 或 Google Vertex AI,請參閱與 AWS Bedrock 和 Google Vertex AI 一起使用 章節。

手動設定

如果 /install-github-app 指令失敗或您偏好手動設定,請遵循這些手動設定指示:

  1. 安裝 Claude GitHub 應用程式到您的儲存庫:https://github.com/apps/claude
  2. 新增 ANTHROPIC_API_KEY 到您的儲存庫密鑰(了解如何在 GitHub Actions 中使用密鑰
  3. 複製工作流程檔案examples/claude.yml 到您儲存庫的 .github/workflows/

完成快速入門或手動設定後,透過在 issue 或 PR 評論中標記 @claude 來測試 action!

從 Beta 版升級

Claude Code GitHub Actions v1.0 引入了破壞性變更,需要更新您的工作流程檔案才能從 beta 版本升級到 v1.0。

如果您目前使用 Claude Code GitHub Actions 的 beta 版本,我們建議您更新工作流程以使用 GA 版本。新版本簡化了配置,同時新增了強大的新功能,如自動模式偵測。

重要變更

所有 beta 使用者必須對其工作流程檔案進行這些變更才能升級:

  1. 更新 action 版本:將 @beta 變更為 @v1
  2. 移除模式配置:刪除 mode: "tag"mode: "agent"(現在自動偵測)
  3. 更新提示輸入:將 direct_prompt 替換為 prompt
  4. 移動 CLI 選項:將 max_turnsmodelcustom_instructions 等轉換為 claude_args

破壞性變更參考

舊 Beta 輸入新 v1.0 輸入
mode(已移除 - 自動偵測)
direct_promptprompt
override_promptprompt 搭配 GitHub 變數
custom_instructionsclaude_args: --system-prompt
max_turnsclaude_args: --max-turns
modelclaude_args: --model
allowed_toolsclaude_args: --allowedTools
disallowed_toolsclaude_args: --disallowedTools
claude_envsettings JSON 格式

前後範例

Beta 版本:

- uses: anthropics/claude-code-action@beta
  with:
    mode: "tag"
    direct_prompt: "Review this PR for security issues"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    custom_instructions: "Follow our coding standards"
    max_turns: "10"
    model: "claude-3-5-sonnet-20241022"

GA 版本(v1.0):

- uses: anthropics/claude-code-action@v1
  with:
    prompt: "Review this PR for security issues"
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    claude_args: |
      --system-prompt "Follow our coding standards"
      --max-turns 10
      --model claude-sonnet-4-20250514

action 現在會根據您的配置自動偵測是否在互動模式(回應 @claude 提及)或自動化模式(立即使用提示執行)中執行。

範例使用案例

Claude Code GitHub Actions 可以幫助您處理各種任務。範例目錄包含適用於不同情境的即用工作流程。

基本工作流程

name: Claude Code
on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
jobs:
  claude:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          # 回應評論中的 @claude 提及

使用斜線指令

name: Code Review
on:
  pull_request:
    types: [opened, synchronize]
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "/review"
          claude_args: "--max-turns 5"

使用提示的自訂自動化

name: Daily Report
on:
  schedule:
    - cron: "0 9 * * *"
jobs:
  report:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: "Generate a summary of yesterday's commits and open issues"
          claude_args: "--model claude-opus-4-1-20250805"

常見使用案例

在 issue 或 PR 評論中:

@claude implement this feature based on the issue description
@claude how should I implement user authentication for this endpoint?
@claude fix the TypeError in the user dashboard component

Claude 將自動分析上下文並適當回應。

最佳實務

CLAUDE.md 配置

在您的儲存庫根目錄建立 CLAUDE.md 檔案,以定義程式碼風格指導原則、審查標準、專案特定規則和偏好模式。此檔案指導 Claude 理解您的專案標準。

安全考量

絕不要直接將 API 金鑰提交到您的儲存庫!

始終使用 GitHub Secrets 來存放 API 金鑰:

  • 將您的 API 金鑰新增為名為 ANTHROPIC_API_KEY 的儲存庫密鑰
  • 在工作流程中參考它:anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
  • 限制 action 權限僅為必要的權限
  • 在合併前審查 Claude 的建議

始終使用 GitHub Secrets(例如 ${{ secrets.ANTHROPIC_API_KEY }})而不是在工作流程檔案中直接硬編碼 API 金鑰。

效能最佳化

使用 issue 範本提供上下文,保持您的 CLAUDE.md 簡潔且專注,並為您的工作流程配置適當的逾時。

CI 成本

使用 Claude Code GitHub Actions 時,請注意相關成本:

GitHub Actions 成本:

  • Claude Code 在 GitHub 託管的執行器上執行,這會消耗您的 GitHub Actions 分鐘數
  • 詳細定價和分鐘數限制請參閱 GitHub 的計費文件

API 成本:

  • 每次 Claude 互動都會根據提示和回應的長度消耗 API 代幣
  • 代幣使用量因任務複雜度和程式碼庫大小而異
  • 目前代幣費率請參閱 Claude 的定價頁面

成本最佳化提示:

  • 使用特定的 @claude 指令來減少不必要的 API 呼叫
  • claude_args 中配置適當的 --max-turns 以防止過度迭代
  • 設定工作流程層級逾時以避免失控的作業
  • 考慮使用 GitHub 的並行控制來限制並行執行

配置範例

Claude Code Action v1 透過統一參數簡化配置:

- uses: anthropics/claude-code-action@v1
  with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
    prompt: "Your instructions here" # 可選
    claude_args: "--max-turns 5" # 可選 CLI 參數

主要功能:

  • 統一提示介面 - 對所有指示使用 prompt
  • 斜線指令 - 預建提示如 /review/fix
  • CLI 傳遞 - 透過 claude_args 使用任何 Claude Code CLI 參數
  • 彈性觸發器 - 適用於任何 GitHub 事件

完整工作流程檔案請造訪範例目錄

當回應 issue 或 PR 評論時,Claude 會自動回應 @claude 提及。對於其他事件,使用 prompt 參數提供指示。

與 AWS Bedrock 和 Google Vertex AI 一起使用

對於企業環境,您可以將 Claude Code GitHub Actions 與您自己的雲端基礎設施一起使用。此方法讓您控制資料駐留和計費,同時保持相同的功能。

先決條件

在使用雲端提供商設定 Claude Code GitHub Actions 之前,您需要:

對於 Google Cloud Vertex AI:

  1. 啟用 Vertex AI 的 Google Cloud 專案
  2. 為 GitHub Actions 配置的 Workload Identity Federation
  3. 具有必要權限的服務帳戶
  4. GitHub 應用程式(建議)或使用預設 GITHUB_TOKEN

對於 AWS Bedrock:

  1. 啟用 Amazon Bedrock 的 AWS 帳戶
  2. 在 AWS 中配置的 GitHub OIDC Identity Provider
  3. 具有 Bedrock 權限的 IAM 角色
  4. GitHub 應用程式(建議)或使用預設 GITHUB_TOKEN
1

建立自訂 GitHub 應用程式(建議用於第三方提供商)

為了在使用 Vertex AI 或 Bedrock 等第三方提供商時獲得最佳控制和安全性,我們建議建立您自己的 GitHub 應用程式:

  1. 前往 https://github.com/settings/apps/new
  2. 填寫基本資訊:
    • GitHub App name:選擇唯一名稱(例如「YourOrg Claude Assistant」)
    • Homepage URL:您組織的網站或儲存庫 URL
  3. 配置應用程式設定:
    • Webhooks:取消勾選「Active」(此整合不需要)
  4. 設定必要權限:
    • Repository permissions
      • Contents:Read & Write
      • Issues:Read & Write
      • Pull requests:Read & Write
  5. 點擊「Create GitHub App」
  6. 建立後,點擊「Generate a private key」並儲存下載的 .pem 檔案
  7. 從應用程式設定頁面記下您的 App ID
  8. 將應用程式安裝到您的儲存庫:
    • 從您應用程式的設定頁面,點擊左側邊欄中的「Install App」
    • 選擇您的帳戶或組織
    • 選擇「Only select repositories」並選擇特定儲存庫
    • 點擊「Install」
  9. 將私鑰新增為儲存庫的密鑰:
    • 前往您儲存庫的 Settings → Secrets and variables → Actions
    • 建立名為 APP_PRIVATE_KEY 的新密鑰,內容為 .pem 檔案的內容
  10. 將 App ID 新增為密鑰:
  • 建立名為 APP_ID 的新密鑰,內容為您 GitHub 應用程式的 ID

此應用程式將與 actions/create-github-app-token action 一起使用,在您的工作流程中產生驗證代幣。

Anthropic API 的替代方案或如果您不想設定自己的 Github 應用程式:使用官方 Anthropic 應用程式:

  1. 從以下位置安裝:https://github.com/apps/claude
  2. 驗證不需要額外配置
2

配置雲端提供商驗證

選擇您的雲端提供商並設定安全驗證:

3

新增必要密鑰

將以下密鑰新增到您的儲存庫(Settings → Secrets and variables → Actions):

對於 Anthropic API(直接):

  1. API 驗證

  2. GitHub 應用程式(如果使用您自己的應用程式)

    • APP_ID:您 GitHub 應用程式的 ID
    • APP_PRIVATE_KEY:私鑰(.pem)內容

對於 Google Cloud Vertex AI

  1. GCP 驗證

    • GCP_WORKLOAD_IDENTITY_PROVIDER
    • GCP_SERVICE_ACCOUNT
  2. GitHub 應用程式(如果使用您自己的應用程式)

    • APP_ID:您 GitHub 應用程式的 ID
    • APP_PRIVATE_KEY:私鑰(.pem)內容

對於 AWS Bedrock

  1. AWS 驗證

    • AWS_ROLE_TO_ASSUME
  2. GitHub 應用程式(如果使用您自己的應用程式)

    • APP_ID:您 GitHub 應用程式的 ID
    • APP_PRIVATE_KEY:私鑰(.pem)內容
4

建立工作流程檔案

建立與您的雲端提供商整合的 GitHub Actions 工作流程檔案。以下範例顯示 AWS Bedrock 和 Google Vertex AI 的完整配置:

疑難排解

Claude 不回應 @claude 指令

驗證 GitHub 應用程式是否正確安裝,檢查工作流程是否已啟用,確保 API 金鑰已在儲存庫密鑰中設定,並確認評論包含 @claude(不是 /claude)。

CI 不在 Claude 的提交上執行

確保您使用 GitHub 應用程式或自訂應用程式(不是 Actions 使用者),檢查工作流程觸發器包含必要事件,並驗證應用程式權限包含 CI 觸發器。

驗證錯誤

確認 API 金鑰有效且具有足夠權限。對於 Bedrock/Vertex,檢查憑證配置並確保密鑰在工作流程中正確命名。

進階配置

Action 參數

Claude Code Action v1 使用簡化配置:

參數描述必要
promptClaude 的指示(文字或斜線指令)否*
claude_args傳遞給 Claude Code 的 CLI 參數
anthropic_api_keyAnthropic API 金鑰是**
github_token用於 API 存取的 GitHub 代幣
trigger_phrase自訂觸發短語(預設:「@claude」)
use_bedrock使用 AWS Bedrock 而非 Anthropic API
use_vertex使用 Google Vertex AI 而非 Anthropic API

*對於 issue/PR 評論,省略提示時 Claude 會回應觸發短語
**直接 Anthropic API 需要,Bedrock/Vertex 不需要

使用 claude_args

claude_args 參數接受任何 Claude Code CLI 參數:

claude_args: "--max-turns 5 --model claude-sonnet-4-20250514 --mcp-config /path/to/config.json"

常見參數:

  • --max-turns:最大對話輪數(預設:10)
  • --model:要使用的模型(例如 claude-sonnet-4-20250514
  • --mcp-config:MCP 配置路徑
  • --allowed-tools:允許工具的逗號分隔清單
  • --debug:啟用除錯輸出

替代整合方法

雖然 /install-github-app 指令是建議的方法,您也可以:

  • 自訂 GitHub 應用程式:適用於需要品牌使用者名稱或自訂驗證流程的組織。建立您自己的 GitHub 應用程式,具有必要權限(contents、issues、pull requests),並使用 actions/create-github-app-token action 在工作流程中產生代幣。
  • 手動 GitHub Actions:直接工作流程配置以獲得最大彈性
  • MCP 配置:動態載入 Model Context Protocol 伺服器

詳細文件請參閱 Claude Code Action 儲存庫

自訂 Claude 的行為

您可以透過兩種方式配置 Claude 的行為:

  1. CLAUDE.md:在儲存庫根目錄的 CLAUDE.md 檔案中定義編碼標準、審查標準和專案特定規則。Claude 在建立 PR 和回應請求時會遵循這些指導原則。查看我們的記憶體文件以了解更多詳情。
  2. 自訂提示:在工作流程檔案中使用 prompt 參數提供工作流程特定指示。這允許您為不同的工作流程或任務自訂 Claude 的行為。

Claude 在建立 PR 和回應請求時會遵循這些指導原則。