---
title: Claude Code GitHub Actions | RunAPI
description: RunAPI 시크릿, 모델, 권한, 트리거, 최소 워크플로로 Claude Code GitHub Actions를 구성합니다.
url: https://runapi.ai/ko/docs/resources/tool-integrations/claude-code-github-actions.md
canonical: https://runapi.ai/ko/docs/resources/tool-integrations/claude-code-github-actions
locale: ko
---

> HTML 버전: https://runapi.ai/ko/docs/resources/tool-integrations/claude-code-github-actions
> 에이전트용 사이트 색인: https://runapi.ai/llms.txt

# Claude Code GitHub Actions

## 개요

공식 `anthropics/claude-code-action`은 GitHub Actions 워크플로에서 Claude Code를 실행합니다. 이 가이드는 RunAPI 키를 GitHub Secret으로 저장하고, 민감하지 않은 Base URL을 Claude Code 설정에 지정하며, 모델을 선택하고, 승인된 `@claude` 댓글에 응답합니다.

## 시작하기 전에

* Claude GitHub App을 설치하고, Actions 시크릿을 생성하며, 워크플로우를 추가하려면 리포지토리 관리자 권한이 필요합니다.
* [인증 가이드](https://runapi.ai/ko/docs/guides/authentication.md)에서 표준 RunAPI API 키를 생성하십시오.
* [모델 카탈로그](https://runapi.ai/ko/models)에서 Anthropic Messages를 지원하는 모델 식별자를 복사하십시오.
* [Claude Code GitHub Actions 설정][1]과 조직의 워크플로우 정책을 검토하십시오.



[1]: https://code.claude.com/docs/en/github-actions

## 설치

대상 저장소의 Claude Code에서 `/install-github-app`을 실행하고
프롬프트에 따라 GitHub App을 설치하세요. Anthropic 자격 증명을 생성하라는 메시지가 나타나면 저장하기 전에 중단하세요. 이 가이드에서는
RunAPI 저장소 또는 조직 시크릿을 대신 사용합니다.

[Claude GitHub App][1]을 설치한 후 아래 워크플로우를 `.github/workflows/claude.yml`에 추가하세요.



[1]: https://github.com/apps/claude

## RunAPI 구성

`RUNAPI_API_KEY`라는 저장소 또는 조직 Actions 시크릿을 만듭니다.
이를 action의 secret 입력을 통해서만 전달합니다:

```yaml
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
```

워크플로우 파일이나 액션의 `settings` JSON에 키를 넣지 마세요.
액션은 설정을 별도로 처리하며, 민감하지 않은 Base URL만 해당 위치에 속합니다.

다음의 최소 대화형 워크플로는 새 이슈 및 풀 리퀘스트 리뷰 댓글을 수신합니다:

```yaml
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 시크릿 가이드][1]를 사용하세요.



[1]: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets

### 권한

* `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`가 워크플로를 트리거하려면 기본 브랜치에
워크플로 파일이 존재해야 합니다. 또한 이 액션은 실행을 시작한 사람을 확인합니다.
[공식 보안 동작][1]을 권위 있는 참조로 사용하세요.



[1]: https://code.claude.com/docs/en/github-actions#who-can-trigger-runs

## 모델 선택

`claude_args`의 `YOUR_RUNAPI_MODEL_ID`를 [모델 카탈로그](https://runapi.ai/ko/models)의 정확한
식별자로 교체하세요. `settings.env` 외부에서 모델을 선택하면 워크플로우에서
선택한 모델이 액션 설정에 표시됩니다.

## 확인

1.  값을 출력하지 않고 `RUNAPI_API_KEY` 시크릿이 존재하는지 확인하십시오.
2.  워크플로우를 기본 브랜치에 병합하고 Actions가 활성화되어 있는지 확인하십시오.
3.  리포지토리 쓰기 권한이 있는 계정에서 이슈 댓글에 `@claude describe
    this repository in one sentence`를 추가하십시오.
4.  워크플로우 실행을 열고, 액션이 성공하는지 확인하며, Claude가 동일한 이슈에 답변하는지 검증하십시오.

## 문제 해결

* **워크플로가 시작되지 않음:** 파일이 기본 브랜치에 있는지, 댓글 이벤트가 일치하는지, Actions가 활성화되어 있는지 확인하세요.
* **작업이 건너뛰어짐:** 댓글에 `@claude`가 포함되어 있고 작성자에게 필요한 저장소 접근 권한이 있는지 확인하세요.
* **인증 실패:** 워크플로가 `secrets.RUNAPI_API_KEY`를 참조하는지 확인하고, 필요하면 [인증 가이드](https://runapi.ai/ko/docs/guides/authentication.md)를 통해 키를 교체하세요.
* **포크 풀 리퀘스트가 키를 사용할 수 없음:** GitHub는 의도적으로 포크에서 트리거된 실행에서 일반 시크릿을 제공하지 않습니다. 시크릿을 리터럴 값으로 대체하지 마세요.
* **모델을 사용할 수 없음:** [Model Catalog](https://runapi.ai/ko/models)에서 정확한 식별자를 복사하세요.
* **Claude의 커밋이 다른 워크플로를 시작하지 않음:** 공식 액션의 [GitHub token troubleshooting][1]을 검토하세요.



[1]: https://code.claude.com/docs/en/github-actions#ci-not-running-on-claudes-commits

## 다음 단계

프로토콜 동작은 [LLM API quickstart](https://runapi.ai/ko/docs/guides/llm-api/quickstart.md)를,
요청 필드는 [Anthropic Messages API
Reference](https://runapi.ai/ko/docs/api/anthropic/messages.md)를 참조하세요. 더 많은 트리거와
액션 입력은 [공식 예제][1] 및 [구성 레퍼런스][2]를 사용하세요.



[1]: https://github.com/anthropics/claude-code-action/tree/main/examples
[2]: https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md

---

## RunAPI의 더 많은 정보

- [홈](https://runapi.ai/ko/.md)
- [모델 카탈로그](https://runapi.ai/ko/models.md)
- [요금](https://runapi.ai/ko/pricing.md)
- [제공사](https://runapi.ai/ko/models)
- [문서](https://runapi.ai/ko/docs/guides)
- [SDK](https://runapi.ai/ko/sdk.md)
- [CLI](https://runapi.ai/ko/cli.md)
- [MCP Server](https://runapi.ai/ko/mcp.md)
- [Claude Code와 Cursor](https://runapi.ai/ko/claude-code-vs-cursor.md)
- [Cursor API 설정](https://runapi.ai/ko/cursor-api-setup.md)
- [RunAPI와 OpenRouter 비교](https://runapi.ai/ko/openrouter-alternative.md)
- [엔터프라이즈](https://runapi.ai/ko/contact.md)
- [문의](https://runapi.ai/ko/contact.md)
- [약관](https://runapi.ai/ko/terms.md)
- [개인정보](https://runapi.ai/ko/privacy.md)
- [에이전트용 사이트 색인](https://runapi.ai/llms.txt)

문의: contact@runapi.ai

## 구조화된 데이터

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "ko",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/ko",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/ko/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "ko",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/ko",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/koicon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "ko",
    "@type": "TechArticle",
    "headline": "Claude Code GitHub Actions",
    "description": "RunAPI 시크릿, 모델, 권한, 트리거, 최소 워크플로로 Claude Code GitHub Actions를 구성합니다.",
    "url": "https://runapi.ai/ko/docs/resources/tool-integrations/claude-code-github-actions",
    "mainEntityOfPage": "https://runapi.ai/ko/docs/resources/tool-integrations/claude-code-github-actions"
  }
]
```
