Skip to main content

Automatisieren von Aufgaben mit Copilot CLI- und GitHub-Aktionen

Integrieren Sie GitHub Copilot-CLI in Ihre GitHub Actions-Workflows.

Wer kann dieses Feature verwenden?

GitHub Copilot-CLI ist in allen Copilot Abonnements enthalten. Wenn du Copilot von einer Organisation erhältst, muss die Copilot-CLI-Richtlinie in den Einstellungen der Organisation aktiviert sein.

Sie können GitHub Copilot-CLI in einem GitHub Actions-Workflow ausführen, um KI-gestützte Aufgaben im Rahmen Ihres CI/CD-Prozesses zu automatisieren. Sie können z. B. aktuelle Repositoryaktivitäten zusammenfassen, Berichte generieren oder Projektinhalte als Gerüst erstellen. GitHub Copilot-CLI wird auf dem Actions-Runner wie jedes andere CLI-Tool ausgeführt, sodass Sie sie während eines Auftrags installieren und aus Workflowschritten aufrufen können.

Grundlegendes zum Workflow

Sie können einen Auftrag in einem GitHub Actions Workflow definieren, der Copilot-CLI auf dem Runner installiert, es authentifiziert, im programmgesteuerten Modus ausführt und dann die Ergebnisse behandelt. Der programmgesteuerte Modus wurde für Skripts und Automatisierung entwickelt und ermöglicht es Ihnen, eine Aufforderung nicht interaktiv zu übergeben.

Workflows können diesem Muster folgen:
1. Trigger: Starten Sie den Workflow in einem Zeitplan, als Reaktion auf Repositoryereignisse oder manuell. 1. Setup: Auscheckcode, Umgebung einrichten. 1. Installieren: Installieren Sie GitHub Copilot-CLI auf dem Runner. 1. Authentifizieren: Stellen Sie sicher, dass die CLI über die erforderlichen Berechtigungen für den Zugriff auf das Repository verfügt und Änderungen vornehmen kann. 1. Führen Sie Copilot-CLI aus: Rufen Sie Copilot-CLI mit einer Aufforderung auf, die die Aufgabe beschreibt, die Sie automatisieren möchten.

Der folgende Workflow generiert eine tägliche Zusammenfassung der Repositoryänderungen und druckt die Zusammenfassung in die Workflowprotokolle.

YAML
name: Daily summary
on:
  workflow_dispatch:
  # Daily at 8:25 UTC
  schedule:
    - cron: '25 8 * * *'
permissions:
  contents: read
jobs:
  daily-summary:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
        
      - name: Set up Node.js environment
        uses: actions/setup-node@v4

      - name: Install Copilot CLI
        run: npm install -g @github/copilot

      - name: Run Copilot CLI
        env:
          COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
        run: |
          TODAY=$(date +%Y-%m-%d)
          copilot -p "Review the git log for this repository and write a bullet point summary of all code changes that were made today ($TODAY). Include a brief description of what was changed."

Auslöser

In diesem Beispiel wird der Workflow täglich ausgeführt und kann auch manuell ausgelöst werden.

          `The workflow_dispatch` Mit trigger können Sie den Workflow manuell über die Registerkarte "Aktionen" ausführen, was beim Testen von Änderungen an der Eingabeaufforderungs- oder Workflowkonfiguration hilfreich ist. 

Der schedule Trigger führt den Workflow automatisch zu einem bestimmten Zeitpunkt mithilfe der Cron-Syntax aus.

YAML
on:
  # Allows manual triggering of this workflow.
  workflow_dispatch:
  # Daily at 8:30 UTC
  schedule:
    - cron: '30 8 * * *'

Konfiguration

Richten Sie den Auftrag so ein, dass Copilot-CLI auf Ihr Repository zugreifen und auf dem Runner ausgeführt werden kann. Dies ermöglicht es Copilot-CLI, den Repository-Kontext bei der Generierung der täglichen Zusammenfassung zu analysieren.

Der permissions Block definiert den Bereich, der dem integrierten Bereich GITHUB_TOKENgewährt wird. Da dieser Workflow Repositorydaten liest und eine Zusammenfassung in die Protokolle ausgibt, benötigt er contents: read.

YAML
permissions:
  contents: read
jobs:
  daily-summary:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5

Installieren

Installieren Sie Copilot-CLI auf dem Runner, damit Ihr Workflow es als Befehl aufrufen kann. Sie können GitHub Copilot-CLI mit einer unterstützten Installationsmethode installieren. Eine vollständige Liste der Installationsoptionen finden Sie unter Installieren der GitHub Copilot-CLI.

In diesem Beispiel installiert der Workflow GitHub Copilot-CLI global mit npm.

YAML
- name: Set up Node.js environment
  uses: actions/setup-node@v4

- name: Install Copilot CLI
  run: npm install -g @github/copilot

Authentifizieren

Um Copilot-CLI in einem Workflow zu authentifizieren, erstellen Sie ein fine-grained personal access token (PAT) mit der Berechtigung Copilot Requests. Speichern Sie den PAT als Repositoryschlüssel, und übergeben Sie ihn dann mithilfe einer Umgebungsvariable an die CLI. Weitere Informationen zum Erstellen eines PAT für die CLI finden Sie unter Authentifizierung mit einem personal access token.

Copilot-CLI unterstützt mehrere Authentifizierungsumgebungsvariablen. In diesem Beispiel nutzt der Workflow COPILOT_GITHUB_TOKEN, das spezifisch für Copilot-CLI ist, um Verwechslungen mit der integrierten Umgebungsvariable GITHUB_TOKEN zu vermeiden.

YAML
- name: Run Copilot CLI
  env:
   COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}

Führen Sie Copilot-CLI aus

Führen Sie Copilot-CLI im programmatischen Modus aus, wenn Sie es in der Automatisierung verwenden möchten.

          `copilot -p PROMPT` führt eine Eingabeaufforderung programmgesteuert aus und beendet, wenn der Befehl abgeschlossen ist. 

In diesem Workflow verweist Copilot-CLI auf den Repository-Inhalt, der im Auftrags-Workspace verfügbar ist. Der Befehl druckt seine Antwort auf die Standardausgabe, und die Zusammenfassung wird in den Workflowprotokollen angezeigt.

YAML
- name: Run Copilot CLI
  env:
    COPILOT_GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
  run: |
    TODAY=$(date +%Y-%m-%d)
    copilot -p "Review the git log for this repository and write a bullet point summary of all code changes that were made today ($TODAY). Include a brief description of what was changed."

Nächste Schritte

Nachdem Sie bestätigt haben, dass der Workflow eine Zusammenfassung in die Protokolle druckt, können Sie dasselbe Muster an andere Automatisierungsaufgaben anpassen. Beginnen Sie damit, die Eingabeaufforderung zu ändern, die Sie an copilot -p PROMPT übergeben, und entscheiden Sie dann, was Sie mit der Ausgabe tun möchten.

  • Schreiben Sie die Zusammenfassung in eine Datei, damit sie später als Eingabe verwendet werden kann.
  • Posten Sie die Zusammenfassung als Kommentar zu einem Problem oder einer Nachricht in einem Teamchat.
  • Fassen Sie Anforderungen zusammen und erstellen Sie einen Entwurf eines Änderungsprotokolls.

Weiterführende Lektüre

  •         [AUTOTITLE](/copilot/reference/cli-command-reference)
    
  •         [AUTOTITLE](/copilot/reference/cli-plugin-reference)