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:
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:
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: writepozwala akcji zatwierdzać zmiany kodu.pull-requests: writeiissues: writepozwalają jej odczytywać i odpowiadać na wyzwalającą rozmowę.id-token: writeobsługuje domyślne uwierzytelnianie akcji przez GitHub App.actions: readpozwala 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
- Potwierdź, że sekret
RUNAPI_API_KEYistnieje, nie wyświetlając jego wartości. - Scal przepływ pracy z gałęzią domyślną i potwierdź, że Actions są włączone.
- Z konta z dostępem do zapisu do repozytorium dodaj komentarz
@claude describe this repository in one sentencedo wątku zgłoszenia. - 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
@claudei ż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.