Issue- & PR-Triage
Das Repo Manager Plugin automatisiert die Triage in Ihrem Repository. Es überwacht PR- und Issue-Ereignisse und führt dann Deduplizierungsprüfungen durch und wendet automatisch Labels an, damit Ihr Backlog dedupliziert und weitergeleitet bleibt, ohne manuelles Sortieren.
Funktionen
- PR-Triage. Wenn ein Pull Request geöffnet oder erneut geöffnet wird, vergleicht SourceAnt ihn mithilfe eines LLM mit anderen offenen PRs und postet einen Kommentar, wenn potenzielle Duplikate gefunden werden.
- Issue-Triage. Dieselbe Duplikaterkennung für Issues, die Maintainern hilft, doppelte Meldungen frühzeitig zu erkennen.
- Automatische Kennzeichnung. Analysiert den Titel, den Text und den Diff neuer PRs/Issues und wendet dann die relevantesten Labels aus dem vorhandenen Label-Set Ihres Repositorys an.
So funktioniert es
Wenn ein pull_request.opened, pull_request.reopened,
issues.openedlautet, oder issues.reopened Ereignis empfangen wird, führt das Plugin Folgendes aus:
- Ruft andere offene PRs oder Issues aus dem Repository ab.
- Sendet sie zusammen mit dem neuen Element zum Vergleich an das konfigurierte LLM.
- Postet einen idempotenten Kommentar, wenn Duplikate erkannt werden (aktualisiert denselben Kommentar bei nachfolgenden Ausführungen).
- Ruft die Labels des Repositorys ab, bittet das LLM, geeignete vorzuschlagen, validiert sie und wendet sie an.
Konfiguration
Das Plugin ist standardmäßig deaktiviert. Aktivieren Sie es global über Umgebungsvariablen oder pro Repository mithilfe des Config-Modells.
Umgebungsvariablen
| Variable | Standard | Beschreibung |
|---|---|---|
REPO_MANAGER_ENABLED | false | Hauptschalter: Repo Manager Plugin global aktivieren |
REPO_MANAGER_PR_TRIAGE | true | PR-Deduplizierungsprüfungen aktivieren |
REPO_MANAGER_ISSUE_TRIAGE | true | Issue-Deduplizierungsprüfungen aktivieren |
REPO_MANAGER_AUTO_LABEL | true | Automatische Kennzeichnung für PRs und Issues aktivieren |
Konfiguration pro Repository
Einstellungen können pro Repository mithilfe des Config Modells überschrieben werden. Die Konfiguration auf Repository-Ebene hat Vorrang vor Umgebungsvariablen.
# Example: enable repo manager for a specific repo
Config.set_value("repository", "owner/repo", "repo_manager.enabled", True, "bool")
# Disable PR triage for a specific repo
Config.set_value("repository", "owner/repo", "repo_manager.pr_triage_enabled", False, "bool") | Konfigurationsschlüssel | Typ | Beschreibung |
|---|---|---|
repo_manager.enabled | bool | Für dieses Repository aktivieren/deaktivieren |
repo_manager.pr_triage_enabled | bool | PR-Deduplizierung aktivieren/deaktivieren |
repo_manager.issue_triage_enabled | bool | Issue-Deduplizierung aktivieren/deaktivieren |
repo_manager.auto_label_enabled | bool | Automatische Kennzeichnung aktivieren/deaktivieren |
Reihenfolge der Konfigurationsauflösung
Einstellungen werden nach Spezifität aufgelöst:
- Repository-Konfiguration (Config-Modell-Eintrag für das spezifische Repository)
- Umgebungsvariable (globaler Standard)
- Plugin-Standard (deaktiviert)
GitHub App Berechtigungen
Der Repo Manager erfordert die folgenden Berechtigungen für Ihre GitHub App (zusätzlich zu denen, die für Code-Überprüfungen benötigt werden):
- Issues: Lesen & Schreiben (zum Auflisten von Issues, Posten von Kommentaren, Anwenden von Labels)
- Pull Requests: Lesen & Schreiben (bereits erforderlich für Code-Reviews)
Duplikaterkennung
Bei der Prüfung auf Duplikate vergleicht das Plugin den Titel und den Text des neuen Elements mit bis zu 50 bestehenden offenen Elementen. Das LLM analysiert die semantische Ähnlichkeit (nicht nur den Titelabgleich), sodass Duplikate auch bei abweichender Formulierung erkannt werden.
Duplikat-Kommentare sind idempotent: Wenn bereits ein Dedup-Kommentar zum PR/Issue existiert, wird dieser aktualisiert, statt einen neuen zu erstellen.
Automatische Kennzeichnung
Die Funktion zur automatischen Kennzeichnung schlägt nur Labels vor, die bereits in Ihrem Repository existieren. Es werden niemals neue Labels erstellt. Bei PRs wird zudem der Inhalt des Diffs berücksichtigt, um genauere Vorschläge zu machen.
Der Label-Abgleich ist unabhängig von der Groß-/Kleinschreibung: Wenn Ihr Repository ein Label namens Bug enthält und das LLM bugvorschlägt, wird es korrekt angewendet Bug.
Als Nächstes: Agent-Aufgabenzuweisung
Triage ist die erste Hälfte einer Schleife, die wir schließen. Die zweite Hälfte ist die Agent-Aufgabenzuweisung: Sobald ein Issue triagiert, dedupliziert und gekennzeichnet ist, übergibt SourceAnt es als präzise abgegrenzte Aufgabe an einen Coding-Agent, zusammen mit dem relevanten Ausschnitt des Wissensgraphen, sodass die Arbeit mit den Entscheidungen und Einschränkungen beginnt, die für diesen Code gelten.
Status: in Entwicklung, noch nicht veröffentlicht. Folgen Sie das Repository für den Fortschritt. Triage und automatische Kennzeichnung, wie auf dieser Seite beschrieben, sind heute verfügbar.