Przejdź do treści
Zasoby dla deweloperów
Zasoby dla deweloperów

Claude Code GitHub Actions

Konfiguracja Claude Code GitHub Actions z tajnym kluczem RunAPI, modelem, uprawnieniami, wyzwalaczami i minimalnym przepływem pracy.

Omówienie

Oficjalna akcja anthropics/claude-code-action uruchamia Claude Code w przepływie pracy GitHub Actions. Niniejszy przewodnik przechowuje klucz RunAPI jako sekret GitHub, ustawia niewrażliwy podstawowy adres URL w ustawieniach Claude Code, wybiera model i odpowiada na autoryzowane komentarze @claude.

Zanim zaczniesz

  • Potrzebujesz uprawnień administratora repozytorium, aby zainstalować aplikację Claude GitHub App, tworzyć sekrety Actions i dodawać przepływ pracy.
  • Utwórz standardowy klucz API RunAPI zgodnie z Przewodnikiem uwierzytelniania.
  • Skopiuj identyfikator modelu obsługującego Anthropic Messages z Katalogu modeli.
  • Zapoznaj się z konfiguracją Claude Code GitHub Actions oraz polityką przepływów pracy Twojej organizacji.

Instalacja

Z Claude Code w docelowym repozytorium uruchom /install-github-app i postępuj zgodnie z instrukcjami, aby zainstalować aplikację GitHub. Gdy zostanie zaproponowane utworzenie poświadczenia Anthropic, zatrzymaj się przed jego zapisaniem: ten przewodnik używa zamiast tego sekretu repozytorium lub organizacji RunAPI.

W przypadku konfiguracji ręcznej zainstaluj Claude GitHub App, a następnie dodaj poniższy workflow do pliku .github/workflows/claude.yml.

Konfiguracja RunAPI

Utwórz tajny klucz Actions repozytorium lub organizacji o nazwie RUNAPI_API_KEY. Przekazuj go tylko przez dane wejściowe tajnego klucza akcji:

YAML
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}

Nie umieszczaj klucza w pliku workflow ani w pliku settings JSON akcji. Akcja przetwarza ustawienia oddzielnie; tylko niewrażliwy bazowy adres URL (Base URL) należy tam wpisać.

Poniższy minimalny interaktywny przepływ pracy nasłuchuje nowych komentarzy w zgłoszeniach (issues) i recenzjach pull requestów:

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"

Sekrety

GitHub nie przekazuje zwykłych sekretów Actions do przepływów pracy wyzwalanych z żądań pull z forków ani zdarzeń Dependabot. Jeśli uruchomienie nie ma poświadczenia, potwierdź źródło zdarzenia przed rotacją klucza RunAPI. Użyj przewodnika po sekretach Actions GitHub dla zakresu repozytorium i organizacji.

Uprawnienia

  • contents: write pozwala akcji zatwierdzać zmiany kodu.
  • pull-requests: write i issues: write pozwalają jej odczytywać i odpowiadać na wyzwalającą rozmowę.
  • id-token: write obsługuje domyślne uwierzytelnianie akcji przez GitHub App.
  • actions: read pozwala jej sprawdzać wyniki przepływów pracy.

Używaj tych jawnych uprawnień zamiast write-all. Usuń możliwości, których Twój przepływ pracy nie potrzebuje.

Zdarzenia wyzwalające

issue_comment obejmuje komentarze w zgłoszeniach i rozmowach w ramach pull requestów; pull_request_review_comment obejmuje komentarze do linii w diffie. Plik workflow musi istnieć w gałęzi domyślnej, zanim issue_comment będzie mógł go wyzwolić. Akcja sprawdza również, kto zainicjował uruchomienie; jako miarodajne źródło informacji użyj oficjalnego opisu zachowania pod kątem bezpieczeństwa.

Wybierz model

Zastąp YOUR_RUNAPI_MODEL_ID w claude_args dokładnym identyfikatorem z Katalogu modeli. Przechowywanie wyboru modelu poza settings.env sprawia, że wybrany model przepływu pracy jest widoczny w konfiguracji akcji.

Weryfikuj

  1. Potwierdź, że sekret RUNAPI_API_KEY istnieje, nie wyświetlając jego wartości.
  2. Scal przepływ pracy z gałęzią domyślną i potwierdź, że Actions są włączone.
  3. Z konta z dostępem do zapisu do repozytorium dodaj komentarz @claude describe this repository in one sentence do wątku zgłoszenia.
  4. Otwórz przebieg przepływu pracy, potwierdź, że akcja zakończyła się sukcesem, i sprawdź, czy Claude odpowiedział w tym samym zgłoszeniu.

Rozwiązywanie problemów

  • Żaden przepływ pracy nie uruchamia się: upewnij się, że plik znajduje się na domyślnej gałęzi, zdarzenie komentarza jest zgodne, a Actions są włączone.
  • Zadanie jest pomijane: upewnij się, że komentarz zawiera @claude i że aktor ma wymagany dostęp do repozytorium.
  • Uwierzytelnianie kończy się niepowodzeniem: upewnij się, że przepływ pracy odwołuje się do secrets.RUNAPI_API_KEY, a następnie w razie potrzeby wymień klucz, korzystając z Przewodnika po uwierzytelnianiu.
  • Żądanie pobrania z forkowanego repozytorium nie może używać klucza: GitHub celowo ukrywa zwykłe sekrety przed uruchomieniami wywołanymi przez forki. Nie zastępuj sekretu wartością dosłowną.
  • Model jest niedostępny: skopiuj dokładny identyfikator z Katalogu modeli.
  • Commity Claude nie uruchamiają kolejnego przepływu pracy: zapoznaj się z oficjalnym rozwiązywaniem problemów z tokenem GitHub dla danej akcji.

Kolejne kroki

Skorzystaj z Szybkiego startu z API LLM, aby poznać zachowanie protokołu, oraz z Dokumentacji interfejsu API Anthropic Messages w celu poznania pól żądania. Aby uzyskać więcej wyzwalaczy i danych wejściowych akcji, skorzystaj z oficjalnych przykładów i dokumentacji konfiguracji.