4 4
5# Claude Code GitHub Actions5# Claude Code GitHub Actions
6 6
7> Claude Code를 GitHub 워크플로우에 통합하는 방법에 대해 알아봅니다7> @claude 멘션에 응답하고, 작업을 자동화하고, 이슈를 풀 리퀘스트로 변환하기 위해 GitHub Actions 워크플로우에서 Claude Code를 실행합니다
8 8
9Claude Code GitHub Actions는 GitHub 워크플로우에 AI 기반 자동화를 제공합니다. PR이나 이슈에서 간단한 `@claude` 멘션으로 Claude가 코드를 분석하고, 풀 리퀘스트를 생성하고, 기능을 구현하고, 버그를 수정할 수 있습니다. 모두 프로젝트의 표준을 따르면서 말입니다. 트리거 없이 모든 PR에 자동으로 게시되는 리뷰의 경우 [GitHub Code Review](/ko/code-review)를 참조하십시오.9[Claude Code GitHub Actions](https://github.com/anthropics/claude-code-action)는 저장소의 워크플로우 내에서 Claude Code를 실행하는 GitHub Action입니다. 풀 리퀘스트나 이슈 댓글에서 `@claude`를 멘션하여 Claude가 코드를 분석하고, 변경 사항을 구현하고, 커밋을 푸시하도록 합니다. Claude Code GitHub Action에 프롬프트를 제공하여 모든 GitHub 이벤트에서 자동으로 실행되도록 할 수도 있습니다. 이슈를 풀 리퀘스트로 변환하거나, 댓글에서 버그를 수정하거나, 반복되는 작업을 자동화하는 데 사용합니다.
10 10
11<Note>11여러 제품이 Claude Code 이름을 공유합니다. 이 페이지는 저장소의 워크플로우 파일로 구성하는 `claude-code-action` 워크플로우 통합을 다룹니다. 관련 제품의 경우 다음을 참조하십시오:
12 Claude Code GitHub Actions는 [Claude Agent SDK](/ko/agent-sdk/overview)를 기반으로 구축되어 있으며, 이를 통해 Claude Code를 애플리케이션에 프로그래밍 방식으로 통합할 수 있습니다. SDK를 사용하여 GitHub Actions를 넘어서는 사용자 정의 자동화 워크플로우를 구축할 수 있습니다.
13</Note>
14 12
15<h2 id="why-use-claude-code-github-actions">13* [Code Review](/docs/ko/code-review): 워크플로우를 작성하지 않고 모든 풀 리퀘스트에서 자동 리뷰
16 Claude Code GitHub Actions를 사용하는 이유는 무엇입니까?14* [웹의 Claude Code](/docs/ko/claude-code-on-the-web): 브라우저나 휴대폰에서 Claude Code 세션
15* [Claude Agent SDK](/docs/ko/agent-sdk/overview): GitHub Actions 외부의 사용자 정의 자동화. Claude Code GitHub Action은 SDK를 기반으로 구축됩니다
16* [GitHub Enterprise Server](/docs/ko/github-enterprise-server): 자체 호스팅 GitHub를 사용한 Claude Code
17
18<h2 id="setup">
19 설정
17</h2>20</h2>
18 21
19* **즉시 PR 생성**: 필요한 사항을 설명하면 Claude가 모든 필요한 변경 사항이 포함된 완전한 PR을 생성합니다22Claude Code GitHub Action을 두 가지 방법 중 하나로 설정할 수 있습니다:
20* **자동화된 코드 구현**: 이슈를 단일 명령으로 작동하는 코드로 변환합니다
21* **표준 준수**: Claude는 `CLAUDE.md` 지침과 기존 코드 패턴을 존중합니다
22* **간단한 설정**: 설치 프로그램과 API 키로 몇 분 안에 시작할 수 있습니다
23* **기본적으로 안전**: 코드는 Github의 러너에 유지됩니다
24 23
25<h2 id="what-can-claude-do">24* **빠른 설정**: Claude Code에서 `/install-github-app`을 실행합니다. Claude Code가 GitHub App을 설치하고, 인증 시크릿을 추가하고, 워크플로우 풀 리퀘스트를 준비합니다
26 Claude가 할 수 있는 것은 무엇입니까?25* **수동 설정**: 앱을 설치하고, 시크릿을 추가하고, 워크플로우 파일을 저장소에 직접 복사합니다. 로컬에서 Claude Code를 실행하지 않을 때, 명령이 실패할 때, 또는 워크플로우 파일을 완전히 제어하고 싶을 때 이 경로를 사용합니다.
27</h2>
28 26
29Claude Code는 코드 작업 방식을 변환하는 강력한 GitHub Action을 제공합니다:27두 경로 모두 저장소에 대한 관리자 액세스가 필요합니다.
30 28
31<h3 id="claude-code-action">29<h3 id="quick-setup">
32 Claude Code Action30 빠른 설정
33</h3>31</h3>
34 32
35이 GitHub Action을 사용하면 GitHub Actions 워크플로우 내에서 Claude Code를 실행할 수 있습니다. 이를 사용하여 Claude Code 위에 사용자 정의 워크플로우를 구축할 수 있습니다.33`/install-github-app`은 github.com 저장소에서만 작동합니다. 저장소의 git 원격이 gitlab.com이나 bitbucket.org에 있으면 명령이 알림을 출력하고 설정을 시작하지 않고 종료합니다. GitLab 파이프라인에서 Claude Code를 실행하려면 [Claude Code GitLab CI/CD](/docs/ko/gitlab-ci-cd)를 참조하십시오.
36 34
37[저장소 보기 →](https://github.com/anthropics/claude-code-action)35시작하기 전에 [GitHub CLI](https://cli.github.com)를 설치하고 `gh auth login`으로 인증합니다. Claude Code가 이를 확인하고 누락되면 경고합니다.
38 36
39<h2 id="setup">37연결하려는 저장소에서 `claude`를 열고 `/install-github-app`을 실행한 후 프롬프트를 따릅니다. Claude Code가 Claude GitHub App을 설치한 후 워크플로우에 대한 인증 시크릿을 설정합니다:
40 설정
41</h2>
42 38
43<h2 id="quick-setup">39* Claude Code가 이미 API 키를 가지고 있으면 해당 키를 재사용하고, 저장소에 이미 설정된 `ANTHROPIC_API_KEY` 시크릿을 유지할 것을 제안합니다
44 빠른 설정40* 그렇지 않으면 Claude 구독으로 장기 토큰을 생성하거나 API 키를 붙여넣기 중에서 선택합니다
45</h2>41
42Claude Code가 자격 증명을 저장소 시크릿으로 저장합니다. API 키의 경우 `ANTHROPIC_API_KEY`, 구독 토큰의 경우 `CLAUDE_CODE_OAUTH_TOKEN`이라고 명명됩니다.
43
44Claude Code가 선택한 워크플로우 파일이 포함된 브랜치를 푸시하고, 이미 해당 시크릿을 사용하도록 설정되어 있으며, 풀 리퀘스트를 생성할 준비가 된 상태로 브라우저에서 GitHub를 엽니다. 해당 풀 리퀘스트를 생성하고 병합하면 저장소에서 `@claude`가 작동합니다.
45
46리뷰 워크플로우를 선택하면 Claude가 각 리뷰를 풀 리퀘스트 자체에 게시합니다. 발견한 각 이슈에 대한 인라인 댓글로 또는 발견하지 못한 경우 하나의 요약 댓글로 게시합니다. Claude는 초안과 같은 일부 풀 리퀘스트를 건너뜁니다. [리뷰 워크플로우 예제](#run-a-skill)는 동일한 스킬을 사용하고 이를 나열합니다. v2.1.229 이전에는 Claude가 리뷰를 워크플로우 실행 로그에만 작성했습니다.
46 47
47Claude Code 터미널에서 `/install-github-app`을 실행하여 통합을 대화형으로 설정합니다. 이 명령은 Claude GitHub 앱을 저장소에 설치한 다음 GitHub Actions 워크플로우 및 API 키 시크릿 추가 과정을 안내합니다.48이전 버전이 생성한 리뷰 워크플로우를 업데이트하려면 다음 중 하나를 수행합니다:
48 49
49GitHub 앱이 설치된 후 명령은 GitHub Actions 설정을 계속할지 여부를 묻습니다. Claude Code v2.1.187 이상에서는 **지금 건너뛰기**를 선택하여 앱만 설치된 상태로 중지하고 `/install-github-app`을 다시 실행하여 워크플로우 및 시크릿 단계로 돌아갈 수 있습니다. 이전 버전은 워크플로우 선택으로 바로 진행합니다.50* `/install-github-app`을 다시 실행합니다. 저장소에 이미 `claude.yml`이 있으면 **최신 버전으로 워크플로우 파일 업데이트**를 선택합니다. Claude Code가 새 브랜치에 워크플로우 파일의 새 복사본을 푸시하고 첫 설치와 동일하게 풀 리퀘스트를 엽니다.
51* [리뷰 워크플로우 예제](#run-a-skill)에서 `--comment` 인수와 `claude_args` 줄을 직접 체크인된 파일에 추가합니다. 이렇게 하면 파일에 대해 수행한 다른 편집 사항이 유지됩니다.
52
53GitHub App을 설치한 후 Claude Code가 GitHub Actions 설정을 계속할지 여부를 묻습니다. **지금 건너뛰기**를 선택하여 GitHub App만 설치된 상태로 중지합니다. 나중에 `/install-github-app`을 다시 실행하여 워크플로우 및 시크릿 단계를 완료합니다. v2.1.187 이전에는 Claude Code가 워크플로우 선택으로 바로 진행했습니다.
50 54
51<Note>55<Note>
52 * GitHub 앱을 설치하고 시크릿을 추가하려면 저장소 관리자여야 합니다56 * GitHub App을 설치하면 여러 권한을 부여합니다. 전체 집합은 [GitHub App 권한](#github-app-permissions)을 참조하십시오
53 * GitHub 앱은 Contents, Issues 및 Pull requests에 대한 읽기 및 쓰기 권한을 요청합니다57 * 빠른 설정은 Claude API 및 Claude 구독과 함께 작동합니다. Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 사용하는 경우 [클라우드 공급자와 함께 Claude Code GitHub Actions 사용](/docs/ko/github-actions-cloud-providers)을 참조하십시오
54 * 이 빠른 시작 방법은 직접 Claude API 사용자만 사용할 수 있습니다. Amazon Bedrock 또는 Google Cloud의 Agent Platform을 사용 중인 경우 [Amazon Bedrock 및 Google Cloud 사용](#using-with-amazon-bedrock-and-google-cloud) 섹션을 참조하십시오.
55</Note>58</Note>
56 59
57<h2 id="manual-setup">60<h3 id="manual-setup">
58 수동 설정61 수동 설정
59</h2>62</h3>
63
64`/install-github-app`을 실행하지 않고 Claude Code GitHub Action을 구성하려면 앱을 설치하고, 시크릿을 추가하고, 워크플로우 파일을 직접 복사합니다:
65
66<Steps>
67 <Step title="Claude GitHub App 설치">
68 [Claude GitHub App](https://github.com/apps/claude)을 저장소에 설치합니다. Claude Code GitHub Action은 앱의 세 가지 권한에 의존합니다:
69
70 * **Contents**: 읽기 및 쓰기. Claude가 저장소 파일을 수정할 수 있습니다
71 * **Issues**: 읽기 및 쓰기. Claude가 이슈에 응답할 수 있습니다
72 * **Pull requests**: 읽기 및 쓰기. Claude가 PR을 생성하고 변경 사항을 푸시할 수 있습니다
60 73
61`/install-github-app` 명령이 실패하거나 수동 설정을 선호하는 경우 다음 수동 설정 지침을 따르십시오:74 설치 중에 다른 Claude 기능이 사용하는 권한도 부여합니다. 전체 집합은 [GitHub App 권한](#github-app-permissions)을 참조하십시오.
75 </Step>
62 76
631. **Claude GitHub 앱을 저장소에 설치합니다**: [https://github.com/apps/claude](https://github.com/apps/claude)77 <Step title="인증 시크릿 추가">
78 인증 방식에 따라 저장소에 다음 시크릿 중 하나를 추가합니다. GitHub의 [GitHub Actions에서 시크릿 사용](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) 가이드를 참조하십시오.
64 79
65 Claude GitHub 앱에는 다음 저장소 권한이 필요합니다:80 * `ANTHROPIC_API_KEY`: [Claude Console](https://platform.claude.com)의 Claude API 키
81 * `CLAUDE_CODE_OAUTH_TOKEN`: Claude 구독으로 인증하는 OAuth 토큰. Pro, Max, Team 및 Enterprise 플랜에서 사용 가능합니다. 로컬에서 `claude setup-token`을 실행하여 생성합니다. [장기 토큰 생성](/docs/ko/authentication#generate-a-long-lived-token)을 참조하십시오
66 82
67 * **Contents**: 읽기 및 쓰기 (저장소 파일 수정)83 워크플로우 파일에서 시크릿을 일치하는 입력으로 전달합니다: API 키의 경우 `anthropic_api_key`, OAuth 토큰의 경우 `claude_code_oauth_token`.
68 * **Issues**: 읽기 및 쓰기 (이슈에 응답)84 </Step>
69 * **Pull requests**: 읽기 및 쓰기 (PR 생성 및 변경 사항 푸시)
70 85
71 보안 및 권한에 대한 자세한 내용은 [보안 설명서](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md)를 참조하십시오.86 <Step title="워크플로우 파일 복사">
722. **ANTHROPIC\_API\_KEY를 저장소 시크릿에 추가합니다** ([GitHub Actions에서 시크릿을 사용하는 방법 알아보기](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions))87 [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml)을 저장소의 `.github/workflows/` 디렉토리에 복사합니다. 파일은 예제가 아닌 작동하는 워크플로우입니다. 커밋된 상태로 Claude는 누군가 이슈나 풀 리퀘스트에서 `@claude`를 멘션할 때마다 응답합니다. `ANTHROPIC_API_KEY` 시크릿으로 인증합니다. 대신 `CLAUDE_CODE_OAUTH_TOKEN`을 추가한 경우 워크플로우의 `anthropic_api_key` 줄을 `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`으로 변경합니다.
733. **워크플로우 파일을 복사합니다** [examples/claude.yml](https://github.com/anthropics/claude-code-action/blob/main/examples/claude.yml)에서 저장소의 `.github/workflows/`로88 </Step>
89</Steps>
74 90
75<Tip>91<Tip>
76 빠른 시작 또는 수동 설정을 완료한 후 이슈 또는 PR 댓글에서 `@claude`를 태그하여 작업을 테스트합니다.92 설정 후 이슈나 PR 댓글에서 `@claude`를 태그하여 Claude Code GitHub Action을 테스트합니다.
77</Tip>93</Tip>
78 94
79<h2 id="upgrading-from-beta">95<h3 id="set-up-for-an-organization">
80 베타에서 업그레이드96 조직을 위한 설정
81</h2>97</h3>
82 98
83<Warning>99빠른 설정이나 수동 설정으로 한 번에 하나의 저장소를 구성합니다. Claude Code GitHub Action을 조직 전체에 배포하려면:
84 Claude Code GitHub Actions v1.0은 베타 버전에서 v1.0으로 업그레이드하기 위해 워크플로우 파일을 업데이트해야 하는 주요 변경 사항을 도입합니다.
85</Warning>
86 100
87현재 Claude Code GitHub Actions의 베타 버전을 사용 중인 경우 워크플로우를 GA 버전을 사용하도록 업데이트하는 것이 좋습니다. 새 버전은 자동 모드 감지와 같은 강력한 새 기능을 추가하면서 구성을 단순화합니다.101* [Claude GitHub App](https://github.com/apps/claude)을 조직 수준에서 한 번 설치합니다. 모든 저장소 또는 선택된 목록을 선택합니다
102* 인증 시크릿을 조직 수준 Actions 시크릿으로 저장합니다. 각 저장소가 자신의 복사본을 가질 필요가 없습니다
103* Claude Code GitHub Action을 실행해야 하는 각 저장소에 워크플로우 파일을 추가하거나, 각 저장소가 호출하는 [재사용 가능한 워크플로우](https://docs.github.com/en/actions/using-workflows/reusing-workflows)로 작업을 한 번 정의합니다
88 104
89<h3 id="essential-changes">105저장소 간에 공유되는 시크릿의 경우 OAuth 토큰은 `claude setup-token`을 실행한 사람의 구독에 연결되어 있으므로 [Claude Console](https://platform.claude.com)의 API 키로 인증합니다.
90 필수 변경 사항106
91</h3>107장기 시크릿을 저장하지 않으려면 워크로드 ID 페더레이션을 통해 인증합니다. Claude Code GitHub Action이 워크플로우의 GitHub OpenID Connect (OIDC) 토큰을 Claude Console 서비스 계정을 통해 Claude API 액세스로 교환합니다. 이러한 입력을 설정합니다:
92 108
93모든 베타 사용자는 업그레이드하기 위해 워크플로우 파일에서 다음 변경 사항을 수행해야 합니다:109* `anthropic_federation_rule_id`: 페더레이션 규칙 ID, `fdrl_...`
110* `anthropic_organization_id`: Anthropic 조직 ID
111* `anthropic_service_account_id`: 서비스 계정 ID, `svac_...`. 선택 사항입니다. Console에서 생성한 페더레이션 규칙이 이미 서비스 계정을 대상으로 하기 때문입니다
112* `anthropic_workspace_id`: 워크스페이스 ID, `wrkspc_...`. 페더레이션 규칙이 단일 워크스페이스를 대상으로 할 때 선택 사항입니다
94 113
951. **작업 버전 업데이트**: `@beta`를 `@v1`로 변경합니다114워크플로우에 `id-token: write` 권한을 부여합니다. Claude Code GitHub Action이 자신의 `github_token`을 전달할 때도 페더레이션 교환에 필요합니다. [Claude Code GitHub Action의 설정 가이드](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md)에서 Console 측 구성을 참조하십시오.
962. **모드 구성 제거**: `mode: "tag"` 또는 `mode: "agent"` 삭제 (이제 자동 감지됨)
973. **프롬프트 입력 업데이트**: `direct_prompt`를 `prompt`로 바꿉니다
984. **CLI 옵션 이동**: `max_turns`, `model`, `custom_instructions` 등을 `claude_args`로 변환합니다
99 115
100<h3 id="breaking-changes-reference">116보안 검토에서 데이터 처리 및 보존 질문의 경우 [데이터 사용](/docs/ko/data-usage) 및 [보안](/docs/ko/security)을 참조하십시오.
101 주요 변경 사항 참조117
118<h3 id="uninstall">
119 제거
102</h3>120</h3>
103 121
104| 이전 베타 입력 | 새 v1.0 입력 |122Claude Code GitHub Action을 제거하려면 설치에 적용되는 각 설정 부분을 취소합니다:
105| --------------------- | ------------------------------------- |123
106| `mode` | *(제거됨 - 자동 감지됨)* |124* **워크플로우 파일**: `.github/workflows/`에서 `anthropics/claude-code-action`을 사용하는 워크플로우를 삭제합니다. 빠른 설정을 사용한 경우 `claude.yml`을 찾고, 리뷰 워크플로우를 선택한 경우 `claude-code-review.yml`을 찾습니다. 워크플로우가 삭제되면 Claude Code GitHub Action이 더 이상 실행되지 않습니다
107| `direct_prompt` | `prompt` |125* **시크릿**: 저장소에서 `ANTHROPIC_API_KEY` 또는 `CLAUDE_CODE_OAUTH_TOKEN` 시크릿을 삭제합니다. [저장소 간에 공유](#set-up-for-an-organization)한 경우 조직 수준 Actions 시크릿에서도 삭제합니다. 시크릿을 삭제하면 보유한 자격 증명이 유효한 상태로 유지됩니다. API 키를 완전히 폐기하려면 [Claude Console](https://platform.claude.com)에서도 키를 삭제합니다
108| `override_prompt` | GitHub 변수가 있는 `prompt` |126* **GitHub App**: 저장소 또는 조직 설정의 GitHub Apps에서 Claude GitHub App을 제거합니다. Code Review나 웹 자동 수정과 같은 다른 Claude 기능에 사용하지 않는 경우에만 제거합니다
109| `custom_instructions` | `claude_args: --append-system-prompt` |127
110| `max_turns` | `claude_args: --max-turns` |128[클라우드 공급자](/docs/ko/github-actions-cloud-providers)를 구성한 경우 `AWS_ROLE_TO_ASSUME`, `GCP_*` 시크릿 또는 `AZURE_*` 시크릿과 같은 공급자 시크릿도 삭제합니다. `APP_ID` 및 `APP_PRIVATE_KEY` 시크릿과 함께 사용자 정의 GitHub App을 제거합니다.
111| `model` | `claude_args: --model` |129
112| `allowed_tools` | `claude_args: --allowedTools` |130<h3 id="github-app-permissions">
113| `disallowed_tools` | `claude_args: --disallowedTools` |131 GitHub App 권한
114| `claude_env` | `settings` JSON 형식 |
115
116<h3 id="before-and-after-example">
117 이전 및 이후 예제
118</h3>132</h3>
119 133
120**베타 버전:**134[Claude GitHub App](https://github.com/apps/claude)은 Claude Code GitHub Action, [Code Review](/docs/ko/code-review) 및 Claude Code on the web의 [풀 리퀘스트 자동 수정](/docs/ko/claude-code-on-the-web#auto-fix-pull-requests)을 포함하여 GitHub와 통합되는 모든 Claude 기능에서 공유됩니다. GitHub App은 모든 기능을 포함하는 단일 권한 집합을 가지므로 집합에는 Claude Code GitHub Action이 사용하지 않는 일부 권한이 포함됩니다.
121 135
122```yaml theme={null}136앱을 설치하면 다음 권한을 부여합니다:
123- uses: anthropics/claude-code-action@beta
124 with:
125 mode: "tag"
126 direct_prompt: "Review this PR for security issues"
127 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
128 custom_instructions: "Follow our coding standards"
129 max_turns: "10"
130 model: "claude-sonnet-5"
131```
132 137
133**GA 버전 (v1.0):**138| 권한 | 액세스 |
139| ---------------- | ------- |
140| Actions | 읽기 및 쓰기 |
141| Checks | 읽기 및 쓰기 |
142| Contents | 읽기 및 쓰기 |
143| Discussions | 읽기 및 쓰기 |
144| Issues | 읽기 및 쓰기 |
145| Members | 읽기 |
146| Metadata | 읽기 |
147| Pull requests | 읽기 및 쓰기 |
148| Repository hooks | 읽기 및 쓰기 |
149| Statuses | 읽기 |
150| Workflows | 읽기 및 쓰기 |
134 151
135```yaml theme={null}152권한 집합은 이를 사용하는 기능보다 먼저 변경될 수 있습니다. 앱이 이전에 없던 권한을 요청하면 GitHub가 계정 소유자에게 승인을 요청합니다. 조직 설치의 경우 조직 소유자에게 요청합니다. 설치는 승인할 때까지 이전 권한을 유지합니다. 예를 들어 Actions 액세스가 읽기에서 쓰기로 변경되면 앱이 워크플로우를 다시 실행할 수 있으므로 GitHub가 소유자에게 변경을 승인하도록 요청합니다.
136- uses: anthropics/claude-code-action@v1
137 with:
138 prompt: "Review this PR for security issues"
139 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
140 claude_args: |
141 --append-system-prompt "Follow our coding standards"
142 --max-turns 10
143 --model claude-sonnet-5
144```
145 153
146<Tip>154앱을 설치하면 전체 권한 집합을 수락합니다. GitHub는 부분 집합을 수락하도록 허용하지 않습니다. 조직이 Claude Code GitHub Action이 사용하는 권한만 필요로 하는 경우 [Claude Code GitHub Action의 설정 가이드](https://github.com/anthropics/claude-code-action/blob/main/docs/setup.md)에 따라 Contents, Issues 및 Pull requests만 포함하는 사용자 정의 GitHub App을 생성합니다. 사용자 정의 앱은 Claude Code GitHub Action만 포함합니다. Code Review 및 웹 자동 수정에는 여전히 공식 앱이 필요합니다.
147 작업은 이제 구성에 따라 대화형 모드(`@claude` 멘션에 응답) 또는 자동화 모드(프롬프트로 즉시 실행)에서 실행할지 여부를 자동으로 감지합니다.155
148</Tip>156Claude Code GitHub Action이 이러한 권한으로 Claude가 할 수 있는 작업을 제한하는 방법에 대한 자세한 내용은 [보안 설명서](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md)를 참조하십시오.
157
158<h2 id="interactive-and-automation-modes">
159 대화형 및 자동화 모드
160</h2>
161
162Claude Code GitHub Action은 워크플로우 구성에서 실행 방법을 감지합니다:
163
164* **대화형 모드**: 워크플로우가 `prompt` 입력을 제공하지 않으면 Claude는 트리거 구문인 `@claude`(기본값)를 이슈나 풀 리퀘스트 댓글, 풀 리퀨스트 리뷰 또는 새로 열린 이슈의 본문이나 제목에서 기다린 후 해당 요청에 응답합니다. 진행 상황과 결과는 트리거 이슈나 PR의 댓글로 나타납니다.
165* **자동화 모드**: 워크플로우가 `prompt` 입력을 제공하면 Claude는 [실행을 트리거할 수 있는 사람](#who-can-trigger-runs)에 대한 확인만 받아 대기 없이 실행됩니다. 기본적으로 결과는 댓글이 아닌 워크플로우 실행 로그에 나타납니다. Claude는 프롬프트가 지시할 때 그리고 [코드 리뷰 예제](#run-a-skill)와 같이 게시할 수 있는 도구가 있을 때 이슈나 풀 리퀘스트에 게시할 수 있습니다.
166
167<h3 id="who-can-trigger-runs">
168 실행을 트리거할 수 있는 사람
169</h3>
170
171두 모드 모두에서 Claude Code GitHub Action은 Claude가 시작하기 전에 트리거 행위자에 대해 두 가지 확인을 실행합니다. 어느 확인이든 거부하면 실행이 실패합니다:
172
173* **쓰기 액세스**: 이슈 및 풀 리퀘스트 이벤트에서 트리거 사용자는 저장소에 대한 쓰기 액세스 권한이 있어야 합니다. 쓰기 액세스 없이 특정 사용자를 허용하려면 `allowed_non_write_users`를 설정하고 자신의 `github_token` 입력을 전달합니다. `schedule` 트리거와 같이 사용자가 작성하지 않은 이벤트는 이 확인을 건너뜁니다.
174* **인간 행위자**: 모든 이벤트에서 Claude Code GitHub Action은 `allowed_bots`에 나열하지 않는 한 봇 행위자를 거부합니다. 이는 봇이 루프에서 Claude를 트리거하는 것을 방지합니다. 이 확인은 GitHub가 저장소 사용자(일반적으로 워크플로우의 `cron` 일정을 마지막으로 변경한 사용자)에 귀속시키는 예약된 실행에도 적용됩니다. 해당 사용자가 봇이면 `allowed_bots`에 나열합니다.
149 175
150<h2 id="example-use-cases">176<h2 id="example-use-cases">
151 예제 사용 사례177 예제 사용 사례
152</h2>178</h2>
153 179
154Claude Code GitHub Actions는 다양한 작업에 도움이 될 수 있습니다. [examples 디렉토리](https://github.com/anthropics/claude-code-action/tree/main/examples)에는 다양한 시나리오에 대한 즉시 사용 가능한 워크플로우가 포함되어 있습니다.180[examples 디렉토리](https://github.com/anthropics/claude-code-action/tree/main/examples)에는 다양한 시나리오에 대한 즉시 사용 가능한 워크플로우가 포함되어 있습니다.
155 181
156<h3 id="basic-workflow">182이 페이지의 예제는 API 키 인증을 보여줍니다. Claude 구독으로 인증하는 경우 모든 예제의 `anthropic_api_key` 줄을 `claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}`으로 바꿉니다.
157 기본 워크플로우183
184<h3 id="respond-to-claude-mentions">
185 @claude 멘션에 응답
158</h3>186</h3>
159 187
188이 워크플로우는 Claude Code GitHub Action을 대화형 모드에서 실행합니다. Claude는 누군가 이슈나 PR 댓글에서 `@claude`를 멘션할 때마다 응답합니다.
189
160```yaml theme={null}190```yaml theme={null}
161name: Claude Code191name: Claude Code
162on:192on:
166 types: [created]196 types: [created]
167jobs:197jobs:
168 claude:198 claude:
199 if: contains(github.event.comment.body, '@claude')
169 runs-on: ubuntu-latest200 runs-on: ubuntu-latest
201 permissions:
202 contents: write
203 pull-requests: write
204 issues: write
205 id-token: write
206 actions: read
170 steps:207 steps:
208 - uses: actions/checkout@v6
209 with:
210 fetch-depth: 1
171 - uses: anthropics/claude-code-action@v1211 - uses: anthropics/claude-code-action@v1
172 with:212 with:
173 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}213 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
174 # Responds to @claude mentions in comments
175```214```
176 215
177<h3 id="using-skills">216이 워크플로우에서 보일러플레이트가 아닌 부분:
178 skills 사용217
218* `id-token: write`: Claude Code GitHub Action의 기본 GitHub App 인증에 필요합니다
219* `actions: read`: Claude가 PR에서 CI 결과를 읽을 수 있게 합니다
220* `actions/checkout`: Claude에게 작업할 저장소의 로컬 복사본을 제공합니다
221* `if`: `@claude`를 멘션하지 않는 댓글에서 러너가 시작되지 않도록 합니다. Claude Code GitHub Action도 응답하기 전에 트리거 구문 자체를 확인합니다
222
223워크플로우가 준비되면 이슈나 PR 댓글에서 `@claude`를 멘션하고 요청을 합니다:
224
225```text wrap theme={null}
226@claude implement this feature based on the issue description
227@claude how should I implement user authentication for this endpoint?
228@claude fix the TypeError in the user dashboard component
229```
230
231Claude가 동일한 이슈나 PR의 댓글로 응답하고 작업하면서 업데이트합니다.
232
233<h3 id="run-a-skill">
234 스킬 실행
179</h3>235</h3>
180 236
181`prompt` 입력은 [skill](/ko/skills) 호출뿐만 아니라 일반 텍스트도 허용합니다:237`prompt` 입력은 일반 텍스트뿐만 아니라 [스킬](/docs/ko/skills) 호출도 허용합니다:
182 238
183* 저장소의 `.claude/skills/` 디렉토리에 있는 skill의 경우, 작업 단계 전에 `actions/checkout`을 실행하고 `/skill-name`을 전달합니다.239* 저장소의 `.claude/skills/` 디렉토리에 있는 스킬의 경우 `anthropics/claude-code-action` 단계 전에 `actions/checkout`을 실행하여 스킬 파일을 러너에서 사용할 수 있게 한 후 `/skill-name`을 `prompt`로 전달합니다.
184* 플러그인에 패키징된 skill의 경우, `plugin_marketplaces` 및 `plugins` 입력으로 플러그인을 설치하고 네임스페이스가 지정된 `/plugin-name:skill-name`을 전달합니다.240* [플러그인](/docs/ko/plugins)에 패키징된 스킬의 경우 `plugin_marketplaces` 및 `plugins` 입력으로 플러그인을 설치한 후 네임스페이스가 지정된 `/plugin-name:skill-name`을 `prompt`로 전달합니다. `plugins` 입력은 `plugin-name@marketplace-name`을 사용합니다. 마켓플레이스 이름은 저장소 URL이 아닌 마켓플레이스 자체의 매니페스트에서 나옵니다.
185 241
186다음 워크플로우는 `code-review` 플러그인을 설치하고 각 새로운 또는 업데이트된 pull request에서 해당 skill을 실행합니다:242다음 워크플로우는 `code-review` 플러그인을 설치하고 풀 리퀘스트가 열리거나, 업데이트되거나, 다시 열리거나, 리뷰 준비로 표시될 때 해당 스킬을 실행합니다. 빠른 설정의 리뷰 워크플로우와 동일한 플러그인을 실행합니다. 프롬프트, 모델 및 트리거를 직접 제어하려는 경우 이와 같은 워크플로우를 사용합니다. 워크플로우 파일을 유지하지 않고 자동 리뷰의 경우 [Code Review](/docs/ko/code-review)를 참조하십시오. 공개 저장소에서 GitHub는 포크 풀 리퀘스트로 트리거된 실행에서 시크릿을 보류하므로 리뷰는 동일한 저장소의 브랜치에서 풀 리퀘스트에서만 실행됩니다.
187 243
188```yaml theme={null}244```yaml theme={null}
189name: Code Review245name: Code Review
190on:246on:
191 pull_request:247 pull_request:
192 types: [opened, synchronize]248 types: [opened, synchronize, ready_for_review, reopened]
193jobs:249jobs:
194 review:250 review:
195 runs-on: ubuntu-latest251 runs-on: ubuntu-latest
252 permissions:
253 contents: read
254 pull-requests: read
255 issues: read
256 id-token: write
196 steps:257 steps:
258 - uses: actions/checkout@v6
259 with:
260 fetch-depth: 1
197 - uses: anthropics/claude-code-action@v1261 - uses: anthropics/claude-code-action@v1
198 with:262 with:
199 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}263 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
200 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"264 plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
201 plugins: "code-review@claude-code-plugins"265 plugins: "code-review@claude-code-plugins"
202 prompt: "/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"266 prompt: "/code-review:code-review --comment ${{ github.repository }}/pull/${{ github.event.pull_request.number }}"
267 claude_args: '--allowedTools "mcp__github_inline_comment__create_inline_comment"'
203```268```
204 269
205<h3 id="custom-automation-with-prompts">270이 워크플로우에서 리뷰가 어디로 가는지 제어하는 두 줄:
206 프롬프트를 사용한 사용자 정의 자동화271
272* **`--comment`**: Claude가 풀 리퀘스트에 리뷰를 게시합니다. 발견한 각 이슈에 대한 인라인 댓글로 또는 발견하지 못한 경우 하나의 요약 댓글로 게시합니다. 없으면 Claude는 아무것도 게시하지 않으며 워크플로우 실행 로그에서 결과를 읽습니다.
273* **`claude_args`**: 스킬 자체의 `allowed-tools` frontmatter가 동일한 도구를 명명하더라도 이 줄을 유지합니다. Claude Code GitHub Action이 `claude_args`의 `--allowedTools`가 이를 명명할 때만 인라인 댓글을 게시하는 MCP 서버를 시작하기 때문입니다.
274
275Claude는 초안 및 닫힌 풀 리퀘스트, 리뷰가 필요하지 않다고 판단하는 풀 리퀘스트(자동화되거나 사소한 것 등), 그리고 이미 Claude의 댓글이 있는 풀 리퀘스트를 건너뜁니다.
276
277<h3 id="run-on-a-schedule">
278 일정에 따라 실행
207</h3>279</h3>
208 280
281`prompt` 입력으로 Claude Code GitHub Action은 cron 일정을 포함한 모든 GitHub 이벤트에서 자동화 모드에서 실행됩니다. 일반 텍스트 프롬프트의 경우 Claude는 프롬프트가 필요로 하는 도구에 대해 `claude_args`의 `--allowedTools` 또는 `settings` 입력의 [`permissions.allow` 규칙](/docs/ko/permissions#permission-rule-syntax)으로 도구를 부여할 때까지 셸이나 GitHub API 액세스 권한이 없습니다. 대신 스킬을 호출하면 Claude는 [`allowed-tools` frontmatter](/docs/ko/skills#pre-approve-tools-for-a-skill)가 부여하는 도구를 사용할 수 있습니다. GitHub는 예약된 워크플로우를 기본 브랜치에서만 실행하며, 공개 저장소에서는 저장소 활동이 60일 없으면 일정을 비활성화합니다.
282
283이 워크플로우는 매일 09:00 UTC에 워크플로우 실행 로그에서 보고서를 생성합니다. 해당 `claude_args` 줄은 [CLI 인수를 전달](#pass-cli-arguments)하여 모델을 선택하고 두 개의 GitHub MCP 도구를 허용합니다. Claude가 해당 도구로 GitHub API를 통해 커밋과 이슈를 읽으므로 체크아웃 단계를 생략할 수 있습니다:
284
209```yaml theme={null}285```yaml theme={null}
210name: Daily Report286name: Daily Report
211on:287on:
214jobs:290jobs:
215 report:291 report:
216 runs-on: ubuntu-latest292 runs-on: ubuntu-latest
293 permissions:
294 contents: read
295 issues: read
296 id-token: write
217 steps:297 steps:
218 - uses: anthropics/claude-code-action@v1298 - uses: anthropics/claude-code-action@v1
219 with:299 with:
220 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
221 prompt: "Generate a summary of yesterday's commits and open issues"301 prompt: "Generate a summary of yesterday's commits and open issues"
222 claude_args: "--model opus"302 claude_args: |
223```303 --model claude-opus-4-8
224 304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"
225<h3 id="common-use-cases">
226 일반적인 사용 사례
227</h3>
228
229이슈 또는 PR 댓글에서:
230
231```text wrap theme={null}
232@claude implement this feature based on the issue description
233@claude how should I implement user authentication for this endpoint?
234@claude fix the TypeError in the user dashboard component
235```305```
236 306
237Claude는 자동으로 컨텍스트를 분석하고 적절하게 응답합니다.
238
239<h2 id="best-practices">307<h2 id="best-practices">
240 모범 사례308 모범 사례
241</h2>309</h2>
242 310
243<h3 id="claude-md-configuration">311<h3 id="define-project-standards-in-claude-md">
244 CLAUDE.md 구성312 CLAUDE.md에서 프로젝트 표준 정의
245</h3>313</h3>
246 314
247저장소 루트에 `CLAUDE.md` 파일을 생성하여 코드 스타일 지침, 리뷰 기준, 프로젝트별 규칙 및 선호하는 패턴을 정의합니다. 이 파일은 Claude의 프로젝트 표준 이해를 안내합니다.315저장소 루트에 `CLAUDE.md` 파일을 생성하여 코드 스타일 지침, 리뷰 기준, 프로젝트별 규칙 및 선호하는 패턴을 정의합니다. Claude는 PR을 생성하고 요청에 응답할 때 이러한 지침을 따릅니다. 자세한 내용은 [메모리 설명서](/docs/ko/memory)를 참조하십시오.
248 316
249<h3 id="security-considerations">317<h3 id="protect-your-credentials">
250 보안 고려 사항318 자격 증명 보호
251</h3>319</h3>
252 320
253<Warning>API 키를 저장소에 직접 커밋하지 마십시오.</Warning>321<Warning>
254 322 API 키나 OAuth 토큰을 저장소에 직접 커밋하지 마십시오. 항상 GitHub Secrets로 저장하고 워크플로우에서 참조합니다. 예: `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`.
255권한, 인증 및 모범 사례를 포함한 포괄적인 보안 지침은 [Claude Code Action 보안 설명서](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md)를 참조하십시오.323</Warning>
256
257항상 GitHub Secrets를 API 키에 사용합니다:
258
259* API 키를 `ANTHROPIC_API_KEY`라는 저장소 시크릿으로 추가합니다
260* 워크플로우에서 참조합니다: `anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}`
261* 작업 권한을 필요한 것으로만 제한합니다
262* 병합하기 전에 Claude의 제안을 검토합니다
263
264API 키를 워크플로우 파일에 직접 하드코딩하는 대신 항상 GitHub Secrets(예: `${{ secrets.ANTHROPIC_API_KEY }}`)를 사용합니다.
265 324
266<h3 id="optimizing-performance">325워크플로우에 필요한 권한만 부여하고 병합하기 전에 Claude의 변경 사항을 검토합니다.
267 성능 최적화
268</h3>
269 326
270이슈 템플릿을 사용하여 컨텍스트를 제공하고, `CLAUDE.md`를 간결하고 집중적으로 유지하고, 워크플로우에 적절한 타임아웃을 구성합니다.327권한 및 인증을 포함한 포괄적인 보안 지침은 [Claude Code Action 보안 설명서](https://github.com/anthropics/claude-code-action/blob/main/docs/security.md)를 참조하십시오.
271 328
272<h3 id="ci-costs">329<h3 id="manage-costs">
273 CI 비용330 비용 관리
274</h3>331</h3>
275 332
276Claude Code GitHub Actions를 사용할 때 관련 비용을 인식합니다:333각 실행은 두 가지 종류의 리소스를 소비합니다:
277
278**GitHub Actions 비용:**
279
280* Claude Code는 GitHub 호스팅 러너에서 실행되며, 이는 GitHub Actions 분을 소비합니다
281* 자세한 가격 책정 및 분 제한은 [GitHub의 청구 설명서](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions)를 참조하십시오
282
283**API 비용:**
284 334
285* 각 Claude 상호 작용은 프롬프트 및 응답의 길이에 따라 API 토큰을 소비합니다335* **GitHub Actions 분**: Claude Code GitHub Action은 GitHub 호스팅 러너에서 실행되며, GitHub Actions 분을 소비합니다. 가격 책정 및 분 제한은 [GitHub의 청구 설명서](https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions)를 참조하십시오.
286* 토큰 사용량은 작업 복잡도 및 코드베이스 크기에 따라 다릅니다336* **API 토큰**: 각 상호 작용은 프롬프트 및 응답의 길이, 작업 복잡도 및 코드베이스 크기에 따라 토큰을 소비합니다. 현재 토큰 요금은 [Claude의 가격 책정 페이지](https://claude.com/platform/api)를 참조하십시오. OAuth 토큰으로 인증하면 실행이 API 청구 대신 Claude 구독을 사용합니다.
287* 현재 토큰 요금은 [Claude의 가격 책정 페이지](https://claude.com/platform/api)를 참조하십시오
288 337
289**비용 최적화 팁:**338Claude에게 더 명확한 컨텍스트를 제공하고 각 실행이 수행할 수 있는 작업의 양을 제한하여 두 종류의 비용을 낮출 수 있습니다:
290 339
291* 특정 `@claude` 명령을 사용하여 불필요한 API 호출을 줄입니다340* 특정 `@claude` 요청을 작성하여 Claude가 완료하는 데 더 적은 턴이 필요하도록 합니다
292* `claude_args`에서 적절한 `--max-turns`를 구성하여 과도한 반복을 방지합니다341* 이슈 템플릿을 사용하여 미리 컨텍스트를 제공합니다
342* `CLAUDE.md`를 간결하게 유지합니다. Claude가 모든 실행에서 이를 읽기 때문입니다
343* `claude_args`에서 `--max-turns`를 설정하여 반복을 제한합니다
293* 워크플로우 수준 타임아웃을 설정하여 실행 중인 작업을 방지합니다344* 워크플로우 수준 타임아웃을 설정하여 실행 중인 작업을 방지합니다
294* GitHub의 동시성 제어를 사용하여 병렬 실행을 제한하는 것을 고려합니다345* GitHub의 동시성 제어를 사용하여 병렬 실행을 제한합니다
295
296<h2 id="configuration-examples">
297 구성 예제
298</h2>
299
300Claude Code Action v1은 통합 파라미터로 구성을 단순화합니다:
301
302```yaml theme={null}
303- uses: anthropics/claude-code-action@v1
304 with:
305 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
306 prompt: "Your instructions here" # Optional
307 claude_args: "--max-turns 5" # Optional CLI arguments
308```
309
310주요 기능:
311
312* **통합 프롬프트 인터페이스** - 모든 지침에 `prompt` 사용
313* **skills** - 프롬프트에서 설치된 [skills](/ko/skills)를 직접 호출합니다
314* **CLI 통과** - `claude_args`를 통한 모든 Claude Code CLI 인수
315* **유연한 트리거** - 모든 GitHub 이벤트와 함께 작동합니다
316
317완전한 워크플로우 파일은 [examples 디렉토리](https://github.com/anthropics/claude-code-action/tree/main/examples)를 방문하십시오.
318 346
319<Tip>347조직 전체의 사용 추적은 [분석 대시보드](/docs/ko/analytics) 및 [모니터링](/docs/ko/monitoring-usage)을 참조하십시오. 사용이 측정되고 청구되는 방법은 [비용](/docs/ko/costs)을 참조하십시오.
320 이슈 또는 PR 댓글에 응답할 때 Claude는 자동으로 @claude 멘션에 응답합니다. 다른 이벤트의 경우 `prompt` 파라미터를 사용하여 지침을 제공합니다.
321</Tip>
322 348
323<h2 id="using-with-amazon-bedrock-and-google-cloud">349<h2 id="use-a-cloud-provider">
324 Amazon Bedrock 및 Google Cloud 사용350 클라우드 공급자 사용
325</h2>351</h2>
326 352
327엔터프라이즈 환경의 경우 자신의 클라우드 인프라와 함께 Claude Code GitHub Actions를 사용할 수 있습니다. 이 접근 방식은 동일한 기능을 유지하면서 데이터 거주지 및 청구에 대한 제어를 제공합니다.353기본적으로 Claude Code GitHub Action은 API 키나 OAuth 토큰으로 Claude API를 직접 호출합니다. 대신 자신의 클라우드 계정을 통해 추론을 라우팅하려면 공급자에 대한 입력을 설정하고 [클라우드 공급자와 함께 Claude Code GitHub Actions 사용](/docs/ko/github-actions-cloud-providers)을 따릅니다:
328
329<h3 id="prerequisites">
330 필수 조건
331</h3>
332
333클라우드 공급자와 함께 Claude Code GitHub Actions를 설정하기 전에 다음이 필요합니다:
334
335<h4 id="for-google-cloud’s-agent-platform">
336 Google Cloud의 Agent Platform의 경우:
337</h4>
338
3391. Google Cloud의 Agent Platform이 활성화된 Google Cloud 프로젝트
3402. GitHub Actions에 대해 구성된 Workload Identity Federation
3413. 필요한 권한이 있는 서비스 계정
3424. GitHub 앱(권장) 또는 기본 GITHUB\_TOKEN 사용
343
344<h4 id="for-amazon-bedrock">
345 Amazon Bedrock의 경우:
346</h4>
347
3481. Amazon Bedrock이 활성화된 AWS 계정
3492. AWS에서 구성된 GitHub OIDC Identity Provider
3503. Amazon Bedrock 권한이 있는 IAM 역할
3514. GitHub 앱(권장) 또는 기본 GITHUB\_TOKEN 사용
352
353<Steps>
354 <Step title="사용자 정의 GitHub 앱 생성 (3P 공급자에 권장)">
355 Google Cloud의 Agent Platform 또는 Amazon Bedrock과 같은 3P 공급자를 사용할 때 최상의 제어 및 보안을 위해 자신의 GitHub 앱을 생성하는 것이 좋습니다:
356
357 1. [https://github.com/settings/apps/new로](https://github.com/settings/apps/new로) 이동합니다
358 2. 기본 정보를 입력합니다:
359 * **GitHub 앱 이름**: 고유한 이름을 선택합니다 (예: "YourOrg Claude Assistant")
360 * **홈페이지 URL**: 조직의 웹사이트 또는 저장소 URL
361 3. 앱 설정을 구성합니다:
362 * **Webhooks**: "Active" 선택 해제 (이 통합에는 필요하지 않음)
363 4. 필수 권한을 설정합니다:
364 * **저장소 권한**:
365 * Contents: 읽기 및 쓰기
366 * Issues: 읽기 및 쓰기
367 * Pull requests: 읽기 및 쓰기
368 5. "GitHub 앱 생성"을 클릭합니다
369 6. 생성 후 "개인 키 생성"을 클릭하고 다운로드한 `.pem` 파일을 저장합니다
370 7. 앱 설정 페이지에서 앱 ID를 기록합니다
371 8. 저장소에 앱을 설치합니다:
372 * 앱의 설정 페이지에서 왼쪽 사이드바의 "앱 설치"를 클릭합니다
373 * 계정 또는 조직을 선택합니다
374 * "선택한 저장소만"을 선택하고 특정 저장소를 선택합니다
375 * "설치"를 클릭합니다
376 9. 개인 키를 저장소 시크릿으로 추가합니다:
377 * 저장소의 설정 → 시크릿 및 변수 → Actions로 이동합니다
378 * `.pem` 파일의 내용으로 `APP_PRIVATE_KEY`라는 새 시크릿을 생성합니다
379 10. 앱 ID를 시크릿으로 추가합니다:
380
381 * GitHub 앱의 ID로 `APP_ID`라는 새 시크릿을 생성합니다
382
383 <Note>
384 이 앱은 [actions/create-github-app-token](https://github.com/actions/create-github-app-token) 작업과 함께 사용되어 워크플로우에서 인증 토큰을 생성합니다.
385 </Note>
386
387 **Claude API의 경우 또는 자신의 Github 앱을 설정하지 않으려는 경우 대안**: 공식 Anthropic 앱을 사용합니다:
388
389 1. 다음에서 설치합니다: [https://github.com/apps/claude](https://github.com/apps/claude)
390 2. 인증을 위한 추가 구성이 필요하지 않습니다
391 </Step>
392
393 <Step title="클라우드 공급자 인증 구성">
394 클라우드 공급자를 선택하고 안전한 인증을 설정합니다:
395
396 <AccordionGroup>
397 <Accordion title="Amazon Bedrock">
398 **자격 증명을 저장하지 않고 GitHub Actions가 안전하게 인증할 수 있도록 AWS를 구성합니다.**
399
400 > **보안 참고**: 저장소별 구성을 사용하고 최소 필요 권한만 부여합니다.
401
402 **필수 설정**:
403
404 1. **Amazon Bedrock 활성화**:
405 * Amazon Bedrock에서 Claude 모델에 대한 액세스 요청
406 * 교차 지역 모델의 경우 모든 필요한 지역에서 액세스 요청
407
408 2. **GitHub OIDC Identity Provider 설정**:
409 * 공급자 URL: `https://token.actions.githubusercontent.com`
410 * 대상: `sts.amazonaws.com`
411
412 3. **GitHub Actions용 IAM 역할 생성**:
413 * 신뢰할 수 있는 엔티티 유형: 웹 ID
414 * ID 공급자: `token.actions.githubusercontent.com`
415 * 권한: `AmazonBedrockFullAccess` 정책
416 * 특정 저장소에 대한 신뢰 정책 구성
417
418 **필수 값**:
419
420 설정 후 다음이 필요합니다:
421
422 * **AWS\_ROLE\_TO\_ASSUME**: 생성한 IAM 역할의 ARN
423
424 <Tip>
425 OIDC는 자격 증명이 임시이고 자동으로 회전되기 때문에 정적 AWS 액세스 키를 사용하는 것보다 더 안전합니다.
426 </Tip>
427
428 자세한 OIDC 설정 지침은 [AWS 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html)를 참조하십시오.
429 </Accordion>
430
431 <Accordion title="Google Cloud의 Agent Platform">
432 **자격 증명을 저장하지 않고 GitHub Actions가 안전하게 인증할 수 있도록 Google Cloud를 구성합니다.**
433 354
434 > **보안 참고**: 저장소별 구성을 사용하고 최소 필요 권한만 부여합니다.355* **Amazon Bedrock**: `use_bedrock: "true"`
356* **Google Cloud의 Agent Platform**: `use_vertex: "true"`
357* **Microsoft Foundry**: `use_foundry: "true"`
435 358
436 **필수 설정**:359세 공급자 모두에서 Claude API 키 대신 OIDC ID 페더레이션을 통해 인증하므로 저장소에 정적 클라우드 자격 증명을 저장하지 않습니다.
437
438 1. **Google Cloud 프로젝트에서 API 활성화**:
439 * IAM Credentials API
440 * Security Token Service (STS) API
441 * Google Cloud의 Agent Platform API
442
443 2. **Workload Identity Federation 리소스 생성**:
444 * Workload Identity Pool 생성
445 * 다음을 사용하여 GitHub OIDC 공급자 추가:
446 * 발급자: `https://token.actions.githubusercontent.com`
447 * 저장소 및 소유자에 대한 속성 매핑
448 * **보안 권장**: 저장소별 속성 조건 사용
449
450 3. **서비스 계정 생성**:
451 * `Vertex AI User` 역할만 부여
452 * **보안 권장**: 저장소당 전용 서비스 계정 생성
453
454 4. **IAM 바인딩 구성**:
455 * Workload Identity Pool이 서비스 계정을 가장하도록 허용
456 * **보안 권장**: 저장소별 주체 집합 사용
457
458 **필수 값**:
459
460 설정 후 다음이 필요합니다:
461
462 * **GCP\_WORKLOAD\_IDENTITY\_PROVIDER**: 전체 공급자 리소스 이름
463 * **GCP\_SERVICE\_ACCOUNT**: 서비스 계정 이메일 주소
464
465 <Tip>
466 Workload Identity Federation은 다운로드 가능한 서비스 계정 키의 필요성을 제거하여 보안을 개선합니다.
467 </Tip>
468
469 자세한 설정 지침은 [Google Cloud Workload Identity Federation 설명서](https://cloud.google.com/iam/docs/workload-identity-federation)를 참조하십시오.
470 </Accordion>
471 </AccordionGroup>
472 </Step>
473
474 <Step title="필수 시크릿 추가">
475 저장소에 다음 시크릿을 추가합니다 (설정 → 시크릿 및 변수 → Actions):
476
477 #### Claude API의 경우 (직접):
478
479 1. **API 인증의 경우**:
480 * `ANTHROPIC_API_KEY`: [console.anthropic.com](https://console.anthropic.com)의 Claude API 키
481
482 2. **GitHub 앱의 경우 (자신의 앱을 사용하는 경우)**:
483 * `APP_ID`: GitHub 앱의 ID
484 * `APP_PRIVATE_KEY`: 개인 키 (.pem) 내용
485
486 #### Google Cloud의 Agent Platform의 경우
487
488 1. **GCP 인증의 경우**:
489 * `GCP_WORKLOAD_IDENTITY_PROVIDER`
490 * `GCP_SERVICE_ACCOUNT`
491
492 2. **GitHub 앱의 경우 (자신의 앱을 사용하는 경우)**:
493 * `APP_ID`: GitHub 앱의 ID
494 * `APP_PRIVATE_KEY`: 개인 키 (.pem) 내용
495
496 #### Amazon Bedrock의 경우
497
498 1. **AWS 인증의 경우**:
499 * `AWS_ROLE_TO_ASSUME`
500
501 2. **GitHub 앱의 경우 (자신의 앱을 사용하는 경우)**:
502 * `APP_ID`: GitHub 앱의 ID
503 * `APP_PRIVATE_KEY`: 개인 키 (.pem) 내용
504 </Step>
505
506 <Step title="워크플로우 파일 생성">
507 클라우드 공급자와 통합되는 GitHub Actions 워크플로우 파일을 생성합니다. 아래 예제는 Amazon Bedrock 및 Google Cloud의 Agent Platform 모두에 대한 완전한 구성을 보여줍니다:
508
509 <AccordionGroup>
510 <Accordion title="Amazon Bedrock 워크플로우">
511 **필수 조건:**
512
513 * Amazon Bedrock 액세스가 Claude 모델 권한으로 활성화됨
514 * GitHub가 AWS에서 OIDC ID 공급자로 구성됨
515 * GitHub Actions를 신뢰하는 Amazon Bedrock 권한이 있는 IAM 역할
516
517 **필수 GitHub 시크릿:**
518
519 | 시크릿 이름 | 설명 |
520 | -------------------- | ------------------------------- |
521 | `AWS_ROLE_TO_ASSUME` | Amazon Bedrock 액세스용 IAM 역할의 ARN |
522 | `APP_ID` | GitHub 앱 ID (앱 설정에서) |
523 | `APP_PRIVATE_KEY` | GitHub 앱에 대해 생성한 개인 키 |
524
525 ```yaml theme={null}
526 name: Claude PR Action
527
528 permissions:
529 contents: write
530 pull-requests: write
531 issues: write
532 id-token: write
533
534 on:
535 issue_comment:
536 types: [created]
537 pull_request_review_comment:
538 types: [created]
539 issues:
540 types: [opened, assigned]
541
542 jobs:
543 claude-pr:
544 if: |
545 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
546 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
547 (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
548 runs-on: ubuntu-latest
549 env:
550 AWS_REGION: us-west-2
551 steps:
552 - name: Checkout repository
553 uses: actions/checkout@v4
554
555 - name: Generate GitHub App token
556 id: app-token
557 uses: actions/create-github-app-token@v2
558 with:
559 app-id: ${{ secrets.APP_ID }}
560 private-key: ${{ secrets.APP_PRIVATE_KEY }}
561
562 - name: Configure AWS Credentials (OIDC)
563 uses: aws-actions/configure-aws-credentials@v4
564 with:
565 role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
566 aws-region: us-west-2
567
568 - uses: anthropics/claude-code-action@v1
569 with:
570 github_token: ${{ steps.app-token.outputs.token }}
571 use_bedrock: "true"
572 claude_args: '--model us.anthropic.claude-sonnet-4-6 --max-turns 10'
573 ```
574
575 <Tip>
576 Amazon Bedrock의 모델 ID 형식에는 지역 접두사가 포함됩니다 (예: `us.anthropic.claude-sonnet-4-6`).
577 </Tip>
578 </Accordion>
579
580 <Accordion title="Google Cloud의 Agent Platform 워크플로우">
581 **필수 조건:**
582
583 * GCP 프로젝트에서 Google Cloud의 Agent Platform API 활성화됨
584 * GitHub에 대해 구성된 Workload Identity Federation
585 * Google Cloud의 Agent Platform 권한이 있는 서비스 계정
586
587 **필수 GitHub 시크릿:**
588
589 | 시크릿 이름 | 설명 |
590 | -------------------------------- | -------------------------------------------------- |
591 | `GCP_WORKLOAD_IDENTITY_PROVIDER` | Workload Identity Provider 리소스 이름 |
592 | `GCP_SERVICE_ACCOUNT` | Google Cloud의 Agent Platform 액세스 권한이 있는 서비스 계정 이메일 |
593 | `APP_ID` | GitHub 앱 ID (앱 설정에서) |
594 | `APP_PRIVATE_KEY` | GitHub 앱에 대해 생성한 개인 키 |
595
596 ```yaml theme={null}
597 name: Claude PR Action
598
599 permissions:
600 contents: write
601 pull-requests: write
602 issues: write
603 id-token: write
604
605 on:
606 issue_comment:
607 types: [created]
608 pull_request_review_comment:
609 types: [created]
610 issues:
611 types: [opened, assigned]
612
613 jobs:
614 claude-pr:
615 if: |
616 (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
617 (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
618 (github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
619 runs-on: ubuntu-latest
620 steps:
621 - name: Checkout repository
622 uses: actions/checkout@v4
623
624 - name: Generate GitHub App token
625 id: app-token
626 uses: actions/create-github-app-token@v2
627 with:
628 app-id: ${{ secrets.APP_ID }}
629 private-key: ${{ secrets.APP_PRIVATE_KEY }}
630
631 - name: Authenticate to Google Cloud
632 id: auth
633 uses: google-github-actions/auth@v2
634 with:
635 workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
636 service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
637
638 - uses: anthropics/claude-code-action@v1
639 with:
640 github_token: ${{ steps.app-token.outputs.token }}
641 trigger_phrase: "@claude"
642 use_vertex: "true"
643 claude_args: '--model claude-sonnet-4-5@20250929 --max-turns 10'
644 env:
645 ANTHROPIC_VERTEX_PROJECT_ID: ${{ steps.auth.outputs.project_id }}
646 CLOUD_ML_REGION: us-east5
647 VERTEX_REGION_CLAUDE_4_5_SONNET: us-east5
648 ```
649
650 <Tip>
651 프로젝트 ID는 Google Cloud 인증 단계에서 자동으로 검색되므로 하드코딩할 필요가 없습니다.
652 </Tip>
653 </Accordion>
654 </AccordionGroup>
655 </Step>
656</Steps>
657 360
658<h2 id="troubleshooting">361<h2 id="troubleshooting">
659 문제 해결362 문제 해결
663 Claude가 @claude 명령에 응답하지 않음366 Claude가 @claude 명령에 응답하지 않음
664</h3>367</h3>
665 368
666GitHub 앱이 올바르게 설치되었는지 확인하고, 워크플로우가 활성화되었는지 확인하고, API 키가 저장소 시크릿에 설정되었는지 확인하고, 댓글에 `@claude`가 포함되어 있는지 확인합니다 (`/claude` 아님).369* GitHub App이 저장소에 설치되었는지 확인합니다
370* 저장소에 대해 워크플로우가 활성화되었는지 확인합니다
371* API 키나 OAuth 토큰이 저장소 시크릿에 설정되었는지 확인합니다
372* 댓글에 `/claude`나 `@claude-bot`이 아닌 완전한 단어로 `@claude`가 포함되어 있는지 확인합니다
373* 댓글 작성자가 저장소에 대한 쓰기 액세스 권한이 있는지 확인합니다. [실행을 트리거할 수 있는 사람](#who-can-trigger-runs)에서 예외를 참조하십시오
667 374
668<h3 id="ci-not-running-on-claude’s-commits">375<h3 id="ci-not-running-on-claude’s-commits">
669 Claude의 커밋에서 CI가 실행되지 않음376 Claude의 커밋에서 CI가 실행되지 않음
670</h3>377</h3>
671 378
672GitHub 앱 또는 사용자 정의 앱을 사용 중인지 확인합니다 (Actions 사용자 아님), 워크플로우 트리거에 필요한 이벤트가 포함되어 있는지 확인하고, 앱 권한에 CI 트리거가 포함되어 있는지 확인합니다.379* GitHub는 기본 `GITHUB_TOKEN`으로 만든 커밋에서 워크플로우를 트리거하지 않습니다. Claude Code GitHub Action에 `github_token: ${{ secrets.GITHUB_TOKEN }}`을 전달하면 Claude GitHub App으로 인증하도록 제거하거나 대신 사용자 정의 앱 토큰을 전달합니다
380* CI 워크플로우의 트리거에 Claude의 푸시가 생성하는 이벤트(예: `push` 또는 `pull_request`)가 포함되어 있는지 확인합니다
673 381
674<h3 id="authentication-errors">382<h3 id="authentication-errors">
675 인증 오류383 인증 오류
676</h3>384</h3>
677 385
678API 키가 유효하고 충분한 권한이 있는지 확인합니다. Amazon Bedrock 또는 Google Cloud의 Agent Platform의 경우 자격 증명 구성을 확인하고 시크릿이 워크플로우에서 올바르게 명명되었는지 확인합니다.386* 워크플로우를 디버깅하기 전에 로컬에서 `claude`로 테스트하여 API 키나 OAuth 토큰이 유효한지 확인합니다
387* Bedrock, Agent Platform 및 Foundry의 경우 클라우드 공급자 페이지의 [문제 해결 섹션](/docs/ko/github-actions-cloud-providers#troubleshooting)을 참조하십시오
388
389더 많은 솔루션은 Claude Code GitHub Action의 [FAQ](https://github.com/anthropics/claude-code-action/blob/main/docs/faq.md)를 참조하십시오.
679 390
680<h2 id="advanced-configuration">391<h2 id="advanced-configuration">
681 고급 구성392 고급 구성
685 작업 파라미터396 작업 파라미터
686</h3>397</h3>
687 398
688Claude Code Action v1은 단순화된 구성을 사용합니다:399이는 가장 일반적으로 사용되는 입력입니다. 각각은 `anthropics/claude-code-action` 단계의 `with:` 키에 매핑됩니다.
689 400
690| 파라미터 | 설명 | 필수 |401| 파라미터 | 설명 | 필수 |
691| --------------------- | ------------------------------------------------ | ----- |402| ------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
692| `prompt` | Claude에 대한 지침 (일반 텍스트 또는 [skill](/ko/skills) 이름) | 아니오\* |403| `prompt` | Claude에 대한 지침. 일반 텍스트 또는 [스킬](/docs/ko/skills) 호출. 생략하면 Claude는 [트리거 구문](#interactive-and-automation-modes) 대신 응답합니다 | 아니오 |
693| `claude_args` | Claude Code에 전달된 CLI 인수 | 아니오 |404| `claude_args` | Claude Code에 전달된 CLI 인수 | 아니오 |
405| `anthropic_api_key` | Claude API 키 | Claude API의 경우 `claude_code_oauth_token` 또는 [워크로드 ID 페더레이션](#set-up-for-an-organization)을 사용하지 않는 한 필수입니다. Bedrock, Agent Platform 또는 Foundry에는 사용되지 않습니다 |
406| `claude_code_oauth_token` | Claude 구독으로 인증하기 위한 OAuth 토큰. `claude setup-token`으로 생성됩니다 | 아니오 |
407| `github_token` | GitHub 작업용 토큰. 생략하면 Claude Code GitHub Action이 Claude GitHub App으로 인증합니다 | 아니오 |
694| `plugin_marketplaces` | 플러그인 마켓플레이스 Git URL의 줄 바꿈으로 구분된 목록 | 아니오 |408| `plugin_marketplaces` | 플러그인 마켓플레이스 Git URL의 줄 바꿈으로 구분된 목록 | 아니오 |
695| `plugins` | 실행 전에 설치할 플러그인 이름의 줄 바꿈으로 구분된 목록 | 아니오 |409| `plugins` | 실행 전에 설치할 플러그인 이름의 줄 바꿈으로 구분된 목록 | 아니오 |
696| `anthropic_api_key` | Claude API 키 | 예\*\* |410| `settings` | Claude Code 설정. JSON 문자열 또는 설정 JSON 파일의 경로 | 아니오 |
697| `github_token` | API 액세스용 GitHub 토큰 | 아니오 |411| `trigger_phrase` | Claude가 응답하는 트리거 구문. 기본값: `@claude` | 아니오 |
698| `trigger_phrase` | 사용자 정의 트리거 구문 (기본값: "@claude") | 아니오 |
699| `use_bedrock` | Claude API 대신 Amazon Bedrock 사용 | 아니오 |412| `use_bedrock` | Claude API 대신 Amazon Bedrock 사용 | 아니오 |
700| `use_vertex` | Claude API 대신 Google Cloud의 Agent Platform 사용 | 아니오 |413| `use_vertex` | Claude API 대신 Google Cloud의 Agent Platform 사용 | 아니오 |
414| `use_foundry` | Claude API 대신 Microsoft Foundry 사용 | 아니오 |
701 415
702\*프롬프트는 선택 사항입니다. 이슈/PR 댓글에서 생략하면 Claude는 트리거 구문에 응답합니다\416전체 입력 목록은 Claude Code GitHub Action의 [구성 참조](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs)를 참조하십시오.
703\*\*직접 Claude API에 필수이며, Amazon Bedrock 또는 Google Cloud의 Agent Platform에는 필수가 아닙니다
704 417
705<h4 id="pass-cli-arguments">418<h3 id="pass-cli-arguments">
706 CLI 인수 전달419 CLI 인수 전달
707</h4>420</h3>
708 421
709`claude_args` 파라미터는 모든 Claude Code CLI 인수를 허용합니다:422`claude_args` 파라미터는 모든 [Claude Code CLI 인수](/docs/ko/cli-reference)를 허용합니다:
710 423
711```yaml theme={null}424```yaml theme={null}
712claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"425claude_args: "--max-turns 5 --model claude-sonnet-5 --mcp-config /path/to/config.json"
714 427
715일반적인 인수:428일반적인 인수:
716 429
717* `--max-turns`: 최대 대화 턴 (기본값: 10)430* `--max-turns`: 대화 턴 수 제한
718* `--model`: 사용할 모델 (예: `claude-sonnet-5`)431* `--model`: 사용할 모델. 예: `claude-sonnet-5`. 이 인수 없으면 Claude Code GitHub Action이 Claude Code [기본 모델](/docs/ko/model-config)을 사용합니다
719* `--mcp-config`: MCP 구성 경로432* `--mcp-config`: [MCP 구성](/docs/ko/mcp) 경로
720* `--allowedTools`: 허용된 도구의 쉼표로 구분된 목록. `--allowed-tools` 별칭도 작동합니다.433* `--allowedTools`: 허용된 도구의 쉼표로 구분된 목록. `--allowed-tools` 별칭도 작동합니다
721* `--debug`: 디버그 출력 활성화434* `--debug`: 디버그 출력 활성화
722 435
723<h3 id="alternative-integration-methods">436<h2 id="upgrade-from-beta">
724 대체 통합 방법437 베타에서 업그레이드
725</h3>438</h2>
726
727`/install-github-app` 명령이 권장되는 접근 방식이지만 다음을 수행할 수도 있습니다:
728
729* **사용자 정의 GitHub 앱**: 브랜드 사용자 이름 또는 사용자 정의 인증 흐름이 필요한 조직의 경우. 필요한 권한(contents, issues, pull requests)으로 자신의 GitHub 앱을 생성하고 actions/create-github-app-token 작업을 사용하여 워크플로우에서 토큰을 생성합니다.
730* **수동 GitHub Actions**: 최대 유연성을 위한 직접 워크플로우 구성
731* **MCP 구성**: Model Context Protocol 서버의 동적 로딩
732 439
733자세한 인증, 보안 및 고급 구성 가이드는 [Claude Code Action 설명서](https://github.com/anthropics/claude-code-action/blob/main/docs)를 참조하십시오.440워크플로우가 여전히 `anthropics/claude-code-action@beta`를 참조하면 v1로 업데이트합니다:
734 441
735<h3 id="customizing-claude’s-behavior">4421. `uses` 줄에서 `@beta`를 `@v1`로 변경합니다
736 Claude의 동작 사용자 정의4432. `mode` 입력을 제거합니다. Claude Code GitHub Action이 이제 [모드를 자동으로 감지](#interactive-and-automation-modes)하기 때문입니다
737</h3>4443. `direct_prompt`를 `prompt`로 바꿉니다
4454. `max_turns` 및 `model`과 같은 CLI 옵션을 `claude_args`로 이동합니다. `custom_instructions`는 같은 이름의 플래그가 없으며 `--append-system-prompt`가 됩니다
738 446
739두 가지 방법으로 Claude의 동작을 구성할 수 있습니다:447전체 입력 매핑 및 이전/이후 예제는 [마이그레이션 가이드](https://github.com/anthropics/claude-code-action/blob/main/docs/migration-guide.md)를 참조하십시오.
740 448
7411. **CLAUDE.md**: 저장소의 루트에 `CLAUDE.md` 파일에서 코딩 표준, 리뷰 기준 및 프로젝트별 규칙을 정의합니다. Claude는 PR을 생성하고 요청에 응답할 때 이러한 지침을 따릅니다. 자세한 내용은 [Memory 설명서](/ko/memory)를 확인하십시오.449<h2 id="what’s-next">
7422. **사용자 정의 프롬프트**: 워크플로우 파일의 `prompt` 파라미터를 사용하여 워크플로우별 지침을 제공합니다. 이를 통해 다양한 워크플로우 또는 작업에 대해 Claude의 동작을 사용자 정의할 수 있습니다.450 다음 단계
451</h2>
743 452
744Claude는 PR을 생성하고 요청에 응답할 때 이러한 지침을 따릅니다.453* [클라우드 공급자와 함께 Claude Code GitHub Actions 사용](/docs/ko/github-actions-cloud-providers): Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 통해 추론을 라우팅합니다
454* [구성 참조](https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md#inputs): 작업 입력의 전체 목록
455* [Examples 디렉토리](https://github.com/anthropics/claude-code-action/tree/main/examples): 더 많은 시나리오에 대한 즉시 사용 가능한 워크플로우
456* [Code Review](/docs/ko/code-review): 워크플로우 파일을 유지하지 않고 자동 풀 리퀘스트 리뷰