Zum Inhalt springen
Entwickler-Ressourcen
Entwickler-Ressourcen

Claude Code GitHub Actions

Claude Code GitHub Actions mit einem RunAPI-Secret, Modell, Berechtigungen, Auslösern und einem minimalen Workflow konfigurieren.

Übersicht

Die offizielle anthropics/claude-code-action führt Claude Code in einem GitHub Actions-Workflow aus. Diese Anleitung speichert einen RunAPI-Schlüssel als GitHub Secret, legt die nicht sensible Basis-URL in den Claude Code-Einstellungen fest, wählt ein Modell aus und reagiert auf autorisierte @claude-Kommentare.

Bevor Sie beginnen

  • Sie benötigen Repository-Administratorzugriff, um die Claude GitHub-App zu installieren, Actions-Secrets zu erstellen und einen Workflow hinzuzufügen.
  • Erstellen Sie einen Standard-RunAPI-API-Schlüssel gemäß der Authentifizierungsanleitung.
  • Kopieren Sie eine Modellkennung, die Anthropic Messages unterstützt, aus dem Modellkatalog.
  • Lesen Sie die Claude Code GitHub Actions-Einrichtungsanleitung sowie die Workflow-Richtlinie Ihrer Organisation.

Installieren

Führen Sie in Claude Code im Ziel-Repository /install-github-app aus und folgen Sie den Anweisungen, um die GitHub-App zu installieren. Wenn die Option angeboten wird, eine Anthropic-Berechtigung zu erstellen, stoppen Sie, bevor Sie diese speichern: Diese Anleitung verwendet stattdessen ein RunAPI-Repository- oder Organisationsgeheimnis.

Für die manuelle Einrichtung installieren Sie die Claude GitHub App und fügen Sie dann den folgenden Workflow zu .github/workflows/claude.yml hinzu.

RunAPI konfigurieren

Erstellen Sie ein Repository- oder Organisations-Actions-Secret namens RUNAPI_API_KEY. Übergeben Sie es nur über die Secret-Eingabe der Action:

YAML
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}

Fügen Sie den Schlüssel nicht in die Workflow-Datei oder das settings-JSON der Aktion ein. Die Aktion verarbeitet Einstellungen separat; nur die nicht sensible Basis-URL gehört dorthin.

Der folgende minimale interaktive Workflow reagiert auf neue Issue- und Pull-Request-Review-Kommentare:

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"

Geheimnisse

GitHub leitet gewöhnliche Actions-Geheimnisse nicht an Workflows weiter, die durch Pull-Requests aus Forks oder Dependabot-Ereignisse ausgelöst werden. Wenn eine Ausführung keine Berechtigung hat, überprüfen Sie die Ereignisquelle, bevor Sie den RunAPI-Schlüssel rotieren. Verwenden Sie GitHubs Actions-Geheimnisse-Leitfaden für Repository- und Organisationsbereich.

Berechtigungen

  • contents: write erlaubt der Action, Codeänderungen zu committen.
  • pull-requests: write und issues: write erlauben ihr, die auslösende Unterhaltung zu lesen und darauf zu antworten.
  • id-token: write unterstützt die Standard-GitHub-App-Authentifizierung der Action.
  • actions: read erlaubt ihr, Workflow-Ergebnisse einzusehen.

Verwenden Sie diese expliziten Berechtigungen anstelle von write-all. Entfernen Sie Funktionen, die Ihr Workflow nicht benötigt.

Auslösende Ereignisse

issue_comment umfasst Kommentare in Issues und Pull-Request- Gesprächen; pull_request_review_comment umfasst Kommentare in Diff- Zeilen. Die Workflow-Datei muss im Standard-Branch vorhanden sein, bevor issue_comment sie auslösen kann. Die Action prüft außerdem, wer den Run initiiert hat; verwenden Sie das offizielle Sicherheitsverhalten als maßgebliche Referenz.

Ein Modell auswählen

Ersetzen Sie YOUR_RUNAPI_MODEL_ID in claude_args durch den genauen Bezeichner aus dem Modellkatalog. Wenn Sie die Modellauswahl außerhalb von settings.env halten, ist das vom Workflow gewählte Modell in der Aktionskonfiguration sichtbar.

Überprüfen

  1. Bestätigen Sie, dass das Secret RUNAPI_API_KEY vorhanden ist, ohne seinen Wert auszugeben.
  2. Mergen Sie den Workflow in den Standard-Branch und vergewissern Sie sich, dass Actions aktiviert sind.
  3. Fügen Sie von einem Konto mit Repository-Schreibzugriff @claude describe this repository in one sentence als Issue-Kommentar hinzu.
  4. Öffnen Sie den Workflow-Run, vergewissern Sie sich, dass die Action erfolgreich war, und überprüfen Sie, ob Claude im selben Issue antwortet.

Fehlerbehebung

  • Kein Workflow startet: Vergewissern Sie sich, dass die Datei sich im Standard-Branch befindet, das Kommentarereignis übereinstimmt und Actions aktiviert sind.
  • Der Job wird übersprungen: Vergewissern Sie sich, dass der Kommentar @claude enthält und der Akteur den erforderlichen Repository-Zugriff hat.
  • Authentifizierung schlägt fehl: Vergewissern Sie sich, dass der Workflow auf secrets.RUNAPI_API_KEY verweist, und rotieren Sie den Schlüssel bei Bedarf über die Authentifizierungsanleitung.
  • Eine Fork-Pull-Request kann den Schlüssel nicht verwenden: GitHub enthält gewöhnlichen Secrets aus fork-ausgelösten Ausführungen absichtlich vor. Ersetzen Sie das Secret nicht durch einen Literal-Wert.
  • Das Modell ist nicht verfügbar: Kopieren Sie die genaue Kennung aus dem Modellkatalog.
  • Claude-Commits starten keinen weiteren Workflow: Lesen Sie die offizielle GitHub-Token-Fehlerbehebung der Action.

Nächste Schritte

Verwende den LLM API quickstart für das Protokollverhalten und die Anthropic Messages API Reference für Anfrage-Felder. Für weitere Trigger und Aktionseingaben verwende die offiziellen Beispiele und die Konfigurationsreferenz.