Claude Code GitHub Actions
了解如何使用 Claude Code GitHub Actions 將 Claude Code 整合到您的開發工作流程中
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
指令失敗或您偏好手動設定,請遵循這些手動設定指示:
- 安裝 Claude GitHub 應用程式到您的儲存庫:https://github.com/apps/claude
- 新增 ANTHROPIC_API_KEY 到您的儲存庫密鑰(了解如何在 GitHub Actions 中使用密鑰)
- 複製工作流程檔案從 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 使用者必須對其工作流程檔案進行這些變更才能升級:
- 更新 action 版本:將
@beta
變更為@v1
- 移除模式配置:刪除
mode: "tag"
或mode: "agent"
(現在自動偵測) - 更新提示輸入:將
direct_prompt
替換為prompt
- 移動 CLI 選項:將
max_turns
、model
、custom_instructions
等轉換為claude_args
破壞性變更參考
舊 Beta 輸入 | 新 v1.0 輸入 |
---|---|
mode | (已移除 - 自動偵測) |
direct_prompt | prompt |
override_prompt | prompt 搭配 GitHub 變數 |
custom_instructions | claude_args: --system-prompt |
max_turns | claude_args: --max-turns |
model | claude_args: --model |
allowed_tools | claude_args: --allowedTools |
disallowed_tools | claude_args: --disallowedTools |
claude_env | settings JSON 格式 |
前後範例
Beta 版本:
GA 版本(v1.0):
action 現在會根據您的配置自動偵測是否在互動模式(回應 @claude
提及)或自動化模式(立即使用提示執行)中執行。
範例使用案例
Claude Code GitHub Actions 可以幫助您處理各種任務。範例目錄包含適用於不同情境的即用工作流程。
基本工作流程
使用斜線指令
使用提示的自訂自動化
常見使用案例
在 issue 或 PR 評論中:
Claude 將自動分析上下文並適當回應。
最佳實務
CLAUDE.md 配置
在您的儲存庫根目錄建立 CLAUDE.md
檔案,以定義程式碼風格指導原則、審查標準、專案特定規則和偏好模式。此檔案指導 Claude 理解您的專案標準。
安全考量
始終使用 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 透過統一參數簡化配置:
主要功能:
- 統一提示介面 - 對所有指示使用
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:
- 啟用 Vertex AI 的 Google Cloud 專案
- 為 GitHub Actions 配置的 Workload Identity Federation
- 具有必要權限的服務帳戶
- GitHub 應用程式(建議)或使用預設 GITHUB_TOKEN
對於 AWS Bedrock:
- 啟用 Amazon Bedrock 的 AWS 帳戶
- 在 AWS 中配置的 GitHub OIDC Identity Provider
- 具有 Bedrock 權限的 IAM 角色
- GitHub 應用程式(建議)或使用預設 GITHUB_TOKEN
建立自訂 GitHub 應用程式(建議用於第三方提供商)
為了在使用 Vertex AI 或 Bedrock 等第三方提供商時獲得最佳控制和安全性,我們建議建立您自己的 GitHub 應用程式:
- 前往 https://github.com/settings/apps/new
- 填寫基本資訊:
- GitHub App name:選擇唯一名稱(例如「YourOrg Claude Assistant」)
- Homepage URL:您組織的網站或儲存庫 URL
- 配置應用程式設定:
- Webhooks:取消勾選「Active」(此整合不需要)
- 設定必要權限:
- Repository permissions:
- Contents:Read & Write
- Issues:Read & Write
- Pull requests:Read & Write
- Repository permissions:
- 點擊「Create GitHub App」
- 建立後,點擊「Generate a private key」並儲存下載的
.pem
檔案 - 從應用程式設定頁面記下您的 App ID
- 將應用程式安裝到您的儲存庫:
- 從您應用程式的設定頁面,點擊左側邊欄中的「Install App」
- 選擇您的帳戶或組織
- 選擇「Only select repositories」並選擇特定儲存庫
- 點擊「Install」
- 將私鑰新增為儲存庫的密鑰:
- 前往您儲存庫的 Settings → Secrets and variables → Actions
- 建立名為
APP_PRIVATE_KEY
的新密鑰,內容為.pem
檔案的內容
- 將 App ID 新增為密鑰:
- 建立名為
APP_ID
的新密鑰,內容為您 GitHub 應用程式的 ID
此應用程式將與 actions/create-github-app-token action 一起使用,在您的工作流程中產生驗證代幣。
Anthropic API 的替代方案或如果您不想設定自己的 Github 應用程式:使用官方 Anthropic 應用程式:
- 從以下位置安裝:https://github.com/apps/claude
- 驗證不需要額外配置
配置雲端提供商驗證
選擇您的雲端提供商並設定安全驗證:
新增必要密鑰
將以下密鑰新增到您的儲存庫(Settings → Secrets and variables → Actions):
對於 Anthropic API(直接):
-
API 驗證:
ANTHROPIC_API_KEY
:您從 console.anthropic.com 取得的 Anthropic API 金鑰
-
GitHub 應用程式(如果使用您自己的應用程式):
APP_ID
:您 GitHub 應用程式的 IDAPP_PRIVATE_KEY
:私鑰(.pem)內容
對於 Google Cloud Vertex AI
-
GCP 驗證:
GCP_WORKLOAD_IDENTITY_PROVIDER
GCP_SERVICE_ACCOUNT
-
GitHub 應用程式(如果使用您自己的應用程式):
APP_ID
:您 GitHub 應用程式的 IDAPP_PRIVATE_KEY
:私鑰(.pem)內容
對於 AWS Bedrock
-
AWS 驗證:
AWS_ROLE_TO_ASSUME
-
GitHub 應用程式(如果使用您自己的應用程式):
APP_ID
:您 GitHub 應用程式的 IDAPP_PRIVATE_KEY
:私鑰(.pem)內容
建立工作流程檔案
建立與您的雲端提供商整合的 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 使用簡化配置:
參數 | 描述 | 必要 |
---|---|---|
prompt | Claude 的指示(文字或斜線指令) | 否* |
claude_args | 傳遞給 Claude Code 的 CLI 參數 | 否 |
anthropic_api_key | Anthropic 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 參數:
常見參數:
--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 的行為:
- CLAUDE.md:在儲存庫根目錄的
CLAUDE.md
檔案中定義編碼標準、審查標準和專案特定規則。Claude 在建立 PR 和回應請求時會遵循這些指導原則。查看我們的記憶體文件以了解更多詳情。 - 自訂提示:在工作流程檔案中使用
prompt
參數提供工作流程特定指示。這允許您為不同的工作流程或任務自訂 Claude 的行為。
Claude 在建立 PR 和回應請求時會遵循這些指導原則。