Przejdź do głównej zawartości

Integracja z GitHub Actions

Twój zespół przegląda 30 PR-ów tygodniowo. Każdy przegląd zajmuje 20-40 minut czasu starszego dewelopera. Połowa komentarzy to te same wzorce: brakująca obsługa błędów, niespójne nazewnictwo, testy, które nie pokrywają przypadków brzegowych. Claude Code GitHub Actions automatyzuje te powtarzalne przeglądy, uwalniając starszych deweloperów do przeglądów, które naprawdę wymagają ludzkiej oceny.

  • Działający workflow GitHub Actions do automatycznego przeglądu kodu przy każdym PR-ze
  • Obsługę wzmianek @claude do pomocy na żądanie w issues i PR-ach
  • Niestandardowe workflow automatyzacji do planowanych zadań i operacji sterowanych zdarzeniami
  • Strategie optymalizacji kosztów dla użycia CI/CD
  • Konfiguracje Bedrock i Vertex AI dla środowisk korporacyjnych

Najszybsza ścieżka to uruchomienie /install-github-app wewnątrz Claude Code. Przeprowadzi cię przez instalację aplikacji GitHub i konfigurację sekretów.

Dla ręcznej konfiguracji:

  1. Zainstaluj aplikację Claude na GitHub z github.com/apps/claude

  2. Dodaj klucz API jako sekret repozytorium o nazwie ANTHROPIC_API_KEY

  3. Utwórz plik workflow w .github/workflows/claude.yml:

    name: Claude Code
    on:
    issue_comment:
    types: [created]
    pull_request_review_comment:
    types: [created]
    issues:
    types: [opened]
    pull_request:
    types: [opened, synchronize]
    jobs:
    claude:
    runs-on: ubuntu-latest
    steps:
    - uses: anthropics/claude-code-action@v1
    with:
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

Po konfiguracji przetestuj tagując @claude w dowolnym komentarzu do issue lub PR-a.

Ten workflow uruchamia przegląd, gdy PR-y są otwierane lub aktualizowane:

name: Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Review this PR for:
1. Correctness: logic errors, race conditions, null pointer risks
2. Security: injection vulnerabilities, auth bypasses, data exposure
3. Performance: N+1 queries, unnecessary iterations, missing indexes
4. Testing: adequate coverage, edge cases, mocking strategy
Be specific. Reference exact files and line numbers.
Rate each finding as CRITICAL, HIGH, MEDIUM, or LOW.
claude_args: "--max-turns 10 --model sonnet"

Podstawowy workflow reaguje na wzmianki @claude w issues i komentarzach do PR-ów:

@claude implement the feature described in this issue
@claude fix the TypeError in the dashboard component
@claude how should I approach refactoring the auth middleware?

Claude analizuje kontekst (opis issue, diff PR-a, historię konwersacji) i odpowiada kodem, wyjaśnieniami lub bezpośrednimi zmianami.

name: Daily Report
on:
schedule:
- cron: "0 9 * * 1-5" # 9 AM w dni robocze
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Generate a summary of the last 24 hours:
1. List all merged PRs with a one-line description
2. List all open issues created in the last 24 hours
3. Highlight any CI failures on the main branch
Create this as a comment on issue #1 (our daily log).
claude_args: "--model sonnet --max-turns 5"
name: Auto-Fix
on:
pull_request:
types: [opened]
jobs:
fix:
runs-on: ubuntu-latest
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
Run the linter and fix any issues. If there are type errors,
fix those too. Commit the changes with a clear message.
claude_args: "--max-turns 15"
jobs:
claude:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
pull-requests: write
issues: write
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789:role/claude-github-actions
aws-region: us-east-1
- uses: anthropics/claude-code-action@v1
with:
use_bedrock: "true"
jobs:
claude:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
pull-requests: write
issues: write
steps:
- uses: google-github-actions/auth@v2
with:
workload_identity_provider: projects/123/locations/global/workloadIdentityPools/github/providers/github
service_account: claude@project.iam.gserviceaccount.com
- uses: anthropics/claude-code-action@v1
with:
use_vertex: "true"
vertex_region: "us-east5"
vertex_project_id: "your-project-id"

Claude Code działa na runnerach hostowanych przez GitHub, zużywając twoje minuty Actions. Każde uruchomienie zużywa również tokeny API w zależności od złożoności zadania.

  • Ustaw --max-turns: Zapobiegaj niekontrolowanym jobom. 5-10 tur wystarczy do większości przeglądów.
  • Używaj Sonnet: Domyślnie jest Sonnet, który jest znacząco tańszy niż Opus do zadań CI.
  • Dodaj timeouty: Ustaw timeouty na poziomie workflow, aby zapobiec nieskończonym pętlom.
  • Użyj kontroli współbieżności: Ogranicz równoległe uruchomienia per PR.
jobs:
claude:
runs-on: ubuntu-latest
timeout-minutes: 10
concurrency:
group: claude-${{ github.event.pull_request.number }}
cancel-in-progress: true

Claude nie odpowiada na @claude: Sprawdź, czy aplikacja Claude na GitHub jest zainstalowana i ma poprawne uprawnienia (Contents, Issues, Pull requests — wszystkie Read & Write).

CI nie uruchamia się na commitach Claude’a: Domyślnie GitHub Actions nie uruchamiają się na commitach wykonanych przez aplikacje GitHub. Jeśli potrzebujesz, aby CI działało na commitach Claude’a, użyj niestandardowej aplikacji GitHub z actions/create-github-app-token.

Błędy uwierzytelniania z Bedrock/Vertex: Wymiana tokenów OIDC wymaga poprawnej konfiguracji dostawcy tożsamości w twoim koncie chmurowym. Zweryfikuj, czy polityka zaufania odpowiada twojemu repozytorium.

Actions kosztują więcej niż oczekiwano: Długotrwałe zadania z Opus mogą zużyć znaczną ilość tokenów. Zacznij od --model sonnet i --max-turns 5, a następnie zwiększ tylko jeśli jakość przeglądu jest niewystarczająca.