Claude Code GitHub Actions
RunAPI 시크릿, 모델, 권한, 트리거, 최소 워크플로로 Claude Code GitHub Actions를 구성합니다.
개요
공식 anthropics/claude-code-action은 GitHub Actions 워크플로에서 Claude Code를 실행합니다. 이 가이드는 RunAPI 키를 GitHub Secret으로 저장하고, 민감하지 않은 Base URL을 Claude Code 설정에 지정하며, 모델을 선택하고, 승인된 @claude 댓글에 응답합니다.
시작하기 전에
- Claude GitHub App을 설치하고, Actions 시크릿을 생성하며, 워크플로우를 추가하려면 리포지토리 관리자 권한이 필요합니다.
- 인증 가이드에서 표준 RunAPI API 키를 생성하십시오.
- 모델 카탈로그에서 Anthropic Messages를 지원하는 모델 식별자를 복사하십시오.
- Claude Code GitHub Actions 설정과 조직의 워크플로우 정책을 검토하십시오.
설치
대상 저장소의 Claude Code에서 /install-github-app을 실행하고
프롬프트에 따라 GitHub App을 설치하세요. Anthropic 자격 증명을 생성하라는 메시지가 나타나면 저장하기 전에 중단하세요. 이 가이드에서는
RunAPI 저장소 또는 조직 시크릿을 대신 사용합니다.
Claude GitHub App을 설치한 후 아래 워크플로우를 .github/workflows/claude.yml에 추가하세요.
RunAPI 구성
RUNAPI_API_KEY라는 저장소 또는 조직 Actions 시크릿을 만듭니다.
이를 action의 secret 입력을 통해서만 전달합니다:
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
워크플로우 파일이나 액션의 settings JSON에 키를 넣지 마세요.
액션은 설정을 별도로 처리하며, 민감하지 않은 Base URL만 해당 위치에 속합니다.
다음의 최소 대화형 워크플로는 새 이슈 및 풀 리퀘스트 리뷰 댓글을 수신합니다:
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
if: contains(github.event.comment.body, '@claude')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 1
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
settings: |
{
"env": {
"ANTHROPIC_BASE_URL": "https://runapi.ai"
}
}
claude_args: "--model YOUR_RUNAPI_MODEL_ID"
시크릿
GitHub은 포크 풀 리퀘스트 또는 Dependabot 이벤트로 트리거된 워크플로에는 일반 Actions 시크릿을 전달하지 않습니다. 실행에 자격 증명이 없는 경우, RunAPI 키를 교체하기 전에 이벤트 소스를 확인하세요. 저장소 및 조직 범위에 대해서는 GitHub의 Actions 시크릿 가이드를 사용하세요.
권한
contents: write는 액션이 코드 변경 사항을 커밋할 수 있도록 합니다.pull-requests: write와issues: write는 트리거된 대화를 읽고 답변할 수 있도록 합니다.id-token: write는 액션의 기본 GitHub App 인증을 지원합니다.actions: read는 워크플로우 결과를 검사할 수 있도록 합니다.
write-all 대신 이 명시적 권한을 사용하세요. 워크플로에 필요하지 않은 기능은 제거하세요.
트리거 이벤트
issue_comment는 이슈 및 풀 리퀘스트 대화의 댓글을 포함하며, pull_request_review_comment는 diff
줄에 대한 댓글을 포함합니다. issue_comment가 워크플로를 트리거하려면 기본 브랜치에
워크플로 파일이 존재해야 합니다. 또한 이 액션은 실행을 시작한 사람을 확인합니다.
공식 보안 동작을 권위 있는 참조로 사용하세요.
모델 선택
claude_args의 YOUR_RUNAPI_MODEL_ID를 모델 카탈로그의 정확한
식별자로 교체하세요. settings.env 외부에서 모델을 선택하면 워크플로우에서
선택한 모델이 액션 설정에 표시됩니다.
확인
- 값을 출력하지 않고
RUNAPI_API_KEY시크릿이 존재하는지 확인하십시오. - 워크플로우를 기본 브랜치에 병합하고 Actions가 활성화되어 있는지 확인하십시오.
- 리포지토리 쓰기 권한이 있는 계정에서 이슈 댓글에
@claude describe this repository in one sentence를 추가하십시오. - 워크플로우 실행을 열고, 액션이 성공하는지 확인하며, Claude가 동일한 이슈에 답변하는지 검증하십시오.
문제 해결
- 워크플로가 시작되지 않음: 파일이 기본 브랜치에 있는지, 댓글 이벤트가 일치하는지, Actions가 활성화되어 있는지 확인하세요.
- 작업이 건너뛰어짐: 댓글에
@claude가 포함되어 있고 작성자에게 필요한 저장소 접근 권한이 있는지 확인하세요. - 인증 실패: 워크플로가
secrets.RUNAPI_API_KEY를 참조하는지 확인하고, 필요하면 인증 가이드를 통해 키를 교체하세요. - 포크 풀 리퀘스트가 키를 사용할 수 없음: GitHub는 의도적으로 포크에서 트리거된 실행에서 일반 시크릿을 제공하지 않습니다. 시크릿을 리터럴 값으로 대체하지 마세요.
- 모델을 사용할 수 없음: Model Catalog에서 정확한 식별자를 복사하세요.
- Claude의 커밋이 다른 워크플로를 시작하지 않음: 공식 액션의 GitHub token troubleshooting을 검토하세요.
다음 단계
프로토콜 동작은 LLM API quickstart를, 요청 필드는 Anthropic Messages API Reference를 참조하세요. 더 많은 트리거와 액션 입력은 공식 예제 및 구성 레퍼런스를 사용하세요.