Bugbot
Bugbot prüft Pull Requests auf Bugs, Sicherheitslücken und Probleme bei der Codequalität.
Konfiguriere Bugbot unter Automatisierungen.
So funktioniert es
Bugbot analysiert PR-Diffs und hinterlässt Kommentare mit Erklärungen und Lösungsvorschlägen. Es wird bei jeder PR-Aktualisierung automatisch ausgeführt oder manuell gestartet.
- Führt bei jeder PR-Aktualisierung automatische Reviews durch
- Manueller Start durch einen Kommentar mit
cursor reviewoderbugbot runin einer beliebigen PR - Verwendet bestehende PR-Kommentare als Kontext: Liest verknüpfte PR-Kommentare (auf oberster Ebene und inline), um doppelte Vorschläge zu vermeiden und auf vorherigem Feedback aufzubauen
- Fix in Cursor öffnet Issues direkt in Cursor
- Fix in Web öffnet Issues direkt in cursor.com/agents
Einrichtung
Verbinde deine Repositories über das Cursor-Dashboard, um Bugbot zu nutzen.
- GitHub (einschließlich GitHub Enterprise Server): Siehe die GitHub-Integrationsseite
- GitLab (einschließlich GitLab Self-Hosted): Siehe die GitLab-Integrationsseite
- Bitbucket (einschließlich Bitbucket Data Center): Siehe die Bitbucket-Integrationsseite
Öffne nach dem Verbinden Bugbot in Automatisierungen, um Bugbot für bestimmte Repositories zu aktivieren.
CI-Prüfstatus
Bugbot veröffentlicht für jede Review-Ausführung einen Status. Auf GitHub erscheint dieser als Prüfung mit dem Namen Cursor Bugbot. Auf Bitbucket erscheint er als Build-Status mit dem Schlüssel cursor-bugbot. Der Status verwendet die folgenden Ergebnisse:
success: Bugbot hat keine Issues gefunden und es gibt keine ungelösten Bugbot-Kommentare aus früheren Ausführungen.neutral: Bugbot hat Issues gefunden, die Ausführung wurde durch einen neueren Commit abgebrochen oder bei Bugbot ist ein interner Fehler aufgetreten. Dies ist das Standardergebnis, wenn Bugbot Findings meldet.failure: Bugbot hat Issues gefunden und die Prüfung ist so konfiguriert, dass sie bei ungelösten Issues fehlschlägt.
Wenn du Branch Protection verwendest, fordere die Bugbot-Prüfung oder den Build-Status an, um sicherzustellen, dass Bugbot vor dem Merge ausgeführt wird. Das Anfordern des Status allein blockiert Merges bei Findings nicht, da Findings standardmäßig zu neutral führen. Wenn das Verhalten „Bei ungelösten Issues fehlschlagen“ für deine Organisation verfügbar ist, aktiviere es, damit ungelöste Findings einen fehlschlagenden Status verursachen. Bugbot gibt kein Ergebnis skipped aus.
Wenn Bugbot Autofix aktiviert ist, kann GitHub auch eine separate Prüfung Cursor Bugbot Autofix anzeigen. Diese Prüfung verwendet nur success oder neutral.
Konfiguration
Repository-Einstellungen
Teammitglieder und Team-Admins können Bugbot für einzelne Repositories aktivieren, Allow-/Deny-Listen für Reviewer konfigurieren und Folgendes festlegen:
- Pro PR und Installation nur einmal ausführen und nachfolgende Commits überspringen
Bugbot wird für alle Mitwirkenden an aktivierten Repositories ausgeführt, unabhängig von ihrer Teammitgliedschaft.
Persönliche Einstellungen
Teammitglieder können die Einstellungen für ihre eigenen PRs überschreiben:
- Nur ausführen, wenn erwähnt, indem du
cursor reviewoderbugbot runkommentierst - Pro PR nur einmal ausführen und nachfolgende Commits überspringen
- Reviews für Entwurfs-PRs aktivieren, um Entwurfs-Pull-Requests in automatische Reviews einzubeziehen
Analytics
Öffnen Sie Bugbot in Automatisierungen, um Review-Aktivitäten und Ergebnisse anzuzeigen.
API
Enterprise-Teams können die Bugbot API nutzen, um Reviews auszulösen und Analysedaten zu einzelnen Reviews abzurufen. Erstelle einen API-Schlüssel über Cursor Dashboard → API Keys und authentifiziere dich mit Basic-Authentifizierung.
Review auslösen
/bugbot/reviewStelle eine Bugbot-Review für einen Pull Request oder Merge Request in die Warteschlange. Die Anfrage wird beantwortet, sobald die Review in die Warteschlange eingereiht wurde; die Review wird asynchron ausgeführt.
Erfordert einen API-Schlüssel mit dem Gültigkeitsbereich admin:*. Der Endpunkt ist auf 30 Anfragen pro Minute und Team begrenzt.
Setze dryRun auf true, um die vollständige Analyse-Pipeline auszuführen, ohne Review-Kommentare, Inline-Kommentare, Checks oder andere SCM-Nebeneffekte zu veröffentlichen. Dry-Run-Reviews speichern Findings weiterhin und werden wie normale Reviews abgerechnet. Rufe sie mit GET /analytics/team/bugbot-reviews ab. Dry-Run-Anfragen haben zusätzlich ein Limit von 10 Anfragen pro Minute und Team.
Request Body
prUrl string (erforderlich)
dryRun boolean (optional)
true wird die Analyse ausgeführt und Findings werden gespeichert, ohne etwas beim SCM-Provider zu veröffentlichen. Standard: false.curl --request POST \ --url https://api.cursor.com/bugbot/review \ -u YOUR_API_KEY: \ --header 'Content-Type: application/json' \ --data '{ "prUrl": "https://github.com/your-org/your-repo/pull/42" }'curl --request POST \ --url https://api.cursor.com/bugbot/review \ -u YOUR_API_KEY: \ --header 'Content-Type: application/json' \ --data '{ "prUrl": "https://github.com/your-org/your-repo/pull/42", "dryRun": true }'Antwort:
{ "outcome": "success", "message": "Bugbot review queued", "request_id": "6e0d261c-86a2-4383-89f0-9162c1c10662", "dry_run": false}Eine Dry-Run-Antwort verwendet "message": "Bugbot dry-run review queued" und "dry_run": true.
Speichere request_id, damit du die abgeschlossene Review im Analytics-Endpunkt zuordnen kannst.
Wenn Bugbot den Pull Request nicht prüfen kann, gibt der Endpunkt 400 Bad Request mit folgendem Grund zurück:
{ "outcome": "error", "message": "Bugbot is disabled for this repository"}Review-Analysen
/analytics/team/bugbot-reviewsGibt für jedes abgeschlossene Bugbot-Review einen Eintrag zurück, einschließlich des überprüften Commits, der Anzahl der Befunde, der abgerechneten Kosten und der Auflösungsdaten für jeden Befund.
Enthält sowohl veröffentlichte als auch Dry-Run-Reviews. Veröffentlichte Befunde werden anhand von comment_id und resolution_status identifiziert. Dry-Run-Befunde geben stattdessen title, description und locations zurück, da nichts im SCM veröffentlicht wird.
Erfordert einen API-Schlüssel mit dem Scope read:*.
Abfrageparameter
startDate string (optional)
endDate string (optional)
repo string (optional)
host/owner/repo. Protokoll und Suffix .git sind optional.prNumber number (optional)
page number (optional)
1.pageSize number (optional)
100, maximal: 250.dryRun boolean (optional)
true) oder veröffentlichten Reviews (false) filtern.curl --get https://api.cursor.com/analytics/team/bugbot-reviews \ -u YOUR_API_KEY: \ --data-urlencode 'startDate=2026-06-01' \ --data-urlencode 'endDate=2026-06-29' \ --data-urlencode 'repo=github.com/your-org/your-repo' \ --data-urlencode 'prNumber=42' \ --data-urlencode 'page=1' \ --data-urlencode 'pageSize=100'curl --get https://api.cursor.com/analytics/team/bugbot-reviews \ -u YOUR_API_KEY: \ --data-urlencode 'dryRun=true' \ --data-urlencode 'repo=github.com/your-org/your-repo' \ --data-urlencode 'prNumber=42'Antwort (veröffentlichte Rezension):
{ "data": [ { "request_id": "6e0d261c-86a2-4383-89f0-9162c1c10662", "timestamp": "2026-06-29T19:42:18.000Z", "repo": "github.com/your-org/your-repo", "repo_node_id": "R_kgDOABCDEF", "pr_number": 42, "commit_sha": "9f3c2a1b7d8e4f5061728394a5b6c7d8e9f0a1b2", "bugs_found": 2, "cost_cents": 42.5, "dry_run": false, "publication_status": "posted", "bugs": [ { "comment_id": "2147483999", "resolution_status": "resolved", "severity": "high" }, { "comment_id": "2147484000", "resolution_status": "unresolved", "severity": "medium" } ] } ], "pagination": { "page": 1, "pageSize": 100, "totalItems": 1, "totalPages": 1, "hasNextPage": false, "hasPreviousPage": false }, "params": { "metric": "bugbot-reviews", "teamId": 12345, "startDate": "2026-06-01", "endDate": "2026-06-29", "repo": "github.com/your-org/your-repo", "prNumber": 42, "page": 1, "pageSize": 100 }}Antwort (Dry-Run-Review):
{ "data": [ { "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "timestamp": "2026-06-29T20:15:03.000Z", "repo": "github.com/your-org/your-repo", "repo_node_id": "R_kgDOABCDEF", "pr_number": 42, "commit_sha": "9f3c2a1b7d8e4f5061728394a5b6c7d8e9f0a1b2", "bugs_found": 1, "cost_cents": null, "dry_run": true, "publication_status": "dry_run", "bugs": [ { "comment_id": null, "resolution_status": null, "severity": "medium", "title": "Unbounded retry loop", "description": "retry() recurses without a ceiling.", "locations": [ { "file": "src/net.ts", "start_line": 5, "end_line": 9 } ] } ] } ], "pagination": { "page": 1, "pageSize": 100, "totalItems": 1, "totalPages": 1, "hasNextPage": false, "hasPreviousPage": false }, "params": { "metric": "bugbot-reviews", "teamId": 12345, "startDate": "2026-06-01", "endDate": "2026-06-29", "repo": "github.com/your-org/your-repo", "prNumber": 42, "dryRun": true, "page": 1, "pageSize": 100 }}repo_node_id, pr_number, commit_sha, cost_cents, bugs[].comment_id, bugs[].resolution_status und bugs[].severity können null sein, wenn sie nicht verfügbar sind. cost_cents ist null, wenn die Überprüfung nicht separat abgerechnet wird. Bei Dry-Run-Überprüfungen enthalten bugs[].title, bugs[].description und bugs[].locations den Inhalt des Findings. Dry-Run-Findings haben comment_id: null und resolution_status: null, da nichts im SCM veröffentlicht wird.
Eine Review auslösen und abrufen
- Rufe
POST /bugbot/reviewmit der Pull-Request-URL auf. Übergib"dryRun": true, um die Analyse ohne Veröffentlichung im SCM durchzuführen. - Speichere die zurückgegebene
request_id. - Frage
GET /analytics/team/bugbot-reviewsregelmäßig ab und filtere nachrepoundprNumber. VerwendedryRun=true, wenn du eine Dry-Run-Review ausgelöst hast. - Suche das Element, dessen
request_idmit der Antwort auf das Auslösen übereinstimmt.
Nach dem Einreihen einer Review kann es einen Moment dauern, bis die Analytics verfügbar sind.
Inkrementelle Reviews
Standardmäßig prüft Bugbot bei jedem Push den gesamten Pull-Request-Diff. Aktiviere Inkrementelles Review in Bugbot-Automatisierungen, um nur die Änderungen seit dem letzten Bugbot-Review zu prüfen.
Aufwandsstufen
Aufwandsstufen steuern, wie viel Zeit Bugbot während eines Reviews für die Analyse aufwendet. Höhere Aufwandsstufen können mehr Fehler finden, aber jedes Review kann länger dauern und mehr Nutzung verbrauchen.
Wähle aus diesen Aufwandsstufen:
- Standard: Optimiert auf Effizienz und Geschwindigkeit. Reviews sind günstiger, aber Bugbot findet möglicherweise weniger Fehler.
- Hoch: Wendet mehr Zeit für die Analyse auf. Reviews sind teurer und dauern länger, aber Bugbot findet möglicherweise mehr Fehler.
- Benutzerdefiniert: Ermöglicht dir, zu beschreiben, wann Bugbot längere und gründlichere Reviews verwenden soll. Cursor legt die Aufwandsstufen anhand deiner Anweisungen dynamisch fest.
Aufwandsstufen sind nur für nutzungsbasierte Bugbot-Tarife verfügbar.
Regeln
Steuere Reviews mit Teamregeln, Repository-Regeln und .cursor/BUGBOT.md-Dateien im Projekt.
Team-Regeln
Team-Admins können in Bugbot-Automatisierungen Regeln erstellen, die für alle Repositories im Team gelten. Diese Regeln stehen in jedem aktivierten Repository zur Verfügung und erleichtern die Durchsetzung organisationsweiter Standards.
Wenn Team-Regeln, Repository-Regeln und Projekt-Regeldateien gelten, fasst Bugbot sie in einem einzigen Block mit Prüfregeln zusammen. Reihenfolge der Einbindung: Team-Regeln → Projekt-.cursor/BUGBOT.md (einschließlich verschachtelter Dateien) → gelernte Regeln → manuelle Regeln.
Regellimits
Jede Regel wird bei der Einbeziehung in ein Review auf 30.000 Zeichen gekürzt. Die Gesamtzahl der Zeichen aller Regeln, die Bugbot in ein Review einbezieht, ist auf 100.000 begrenzt. Bei Überschreitung dieser Gesamtgrenze können einige Regeln ausgelassen werden. Erforderliche Teamregeln haben Vorrang vor nicht erforderlichen Regeln.
Anzeigen, welche Regeln bei einer Review verwendet wurden
Kommentieren Sie einen Pull Request mit bugbot run verbose=true oder cursor review verbose=true. Bugbot veröffentlicht eine Tabelle aller in diesem Durchlauf verwendeten Regeln und kennzeichnet gekürzte oder ausgelassene Regeln.
Repository-Regeln
Projektregeln
Erstellen Sie .cursor/BUGBOT.md-Dateien, um Bugbot projektspezifischen Kontext für Reviews bereitzustellen. Bugbot bezieht stets die .cursor/BUGBOT.md-Datei im Stammverzeichnis sowie alle zusätzlichen Dateien ein, die beim Durchlaufen der Verzeichnishierarchie von geänderten Dateien nach oben gefunden werden.
project/ .cursor/BUGBOT.md # Stets enthalten (projektweite Regeln) backend/ .cursor/BUGBOT.md # Enthalten beim Review von Backend-Dateien api/ .cursor/BUGBOT.md # Enthalten beim Review von API-Dateien frontend/ .cursor/BUGBOT.md # Enthalten beim Review von Frontend-DateienCursor-Projektregeln (*.mdc-Dateien in .cursor/rules/) gelten nicht für Bugbot-Ausführungen.
Gelernte Regeln
Aktiviere in den Bugbot-Repository-Regeln das Lernen für deine Organisationen und Repositories.
Regeln werden automatisch anhand der GitHub-Aktivität deines Teams in diesem Repository erstellt oder manuell aus dem Repository-Verlauf nachgetragen.
Du kannst Bugbot auch direkt in einer PR neue Regeln beibringen, indem du @cursor remember [fact] kommentierst. Bugbot speichert die Information als gelernte Regel und wendet sie bei zukünftigen Reviews an.
Cursor aktiviert oder deaktiviert Regeln automatisch, wenn es im Laufe der Zeit mehr über die Aktivität deines Teams lernt.
| Feld | Beschreibung |
|---|---|
| Name | Kurzer Titel für die Regel. |
| Regelinhalt | Die Anweisungen, die Bugbot befolgen soll (z. B. Stilvorgaben, Pfade oder Erwartungen an Reviews). |
| Glob-Muster | Optionale Glob-Muster wie src/components/**. Leer lassen, um die Regel auf das gesamte Repository anzuwenden. |
Manuelle Regeln
In den Bugbot-Repository-Regeln kannst du manuelle Regeln für einzelne Repositories erstellen.
| Feld | Beschreibung |
|---|---|
| Name | Kurzer Titel für die Regel. |
| Regelinhalt | Die Anweisungen, die Bugbot befolgen soll (z. B. Stilvorgaben, Pfade oder Erwartungen an Reviews). |
| Glob-Muster | Optionale Glob-Muster wie src/components/**. Leer lassen, damit die Regel für das gesamte Repository gilt. |
Regelanalysen
Analysen einer Bugbot-Regel zeigen, wie sie sich bei echten PRs bewährt:
| Metrik | Bedeutung |
|---|---|
| Gefundene Issues | Anzahl der von Bugbot gemeldeten Findings zu dieser Regel. |
| Überprüfte PRs | Anzahl der Pull Requests, in denen diese Findings aufgetreten sind. |
| Akzeptierte Issues | Anzahl der Findings, die dein Team akzeptiert hat. |
| Akzeptanzrate | Prozentsatz der akzeptierten Findings. |
Beispiele
Wenn eine geänderte Datei das Zeichenfolgenmuster /\beval\s*\(|\bexec\s*\(/i enthält:- Einen blockierenden Bug mit dem Titel „Gefährliche dynamische Ausführung“ und folgendem Text hinzufügen: „Es wurde eine Verwendung von eval/exec gefunden. Durch sichere Alternativen ersetzen oder mit einem ausführlichen Kommentar und Tests begründen.“- Den Bug dem PR-Autor zuweisen.- Das Label „security“ anwenden.Wenn der PR Abhängigkeitsdateien (package.json, pnpm-lock.yaml, yarn.lock, requirements.txt, go.mod, Cargo.toml) ändert:- Den integrierten Lizenzscan ausführen.- Wenn eine neue oder aktualisierte Abhängigkeit eine Lizenz aus {GPL-2.0, GPL-3.0, AGPL-3.0} hat: - Einen blockierenden Bug mit dem Titel „Nicht zulässige Lizenz erkannt“ hinzufügen. - Die Namen, Versionen und Lizenzen der betroffenen Pakete im Bug-Text angeben. - Die Labels „compliance“ und „security“ anwenden.Für Dateien in React-Projekten, die **/*.{js,jsx,ts,tsx} entsprechen:Wenn eine geänderte Datei /componentWillMount\s*\(/ enthält:- Einen blockierenden Bug mit dem Titel „Veraltete React-Lifecycle-Methode“ hinzufügen.- Text: „componentWillMount durch constructor oder useEffect ersetzen. Siehe React-Dokumentation.“- Ein Autofix-Snippet vorschlagen, das Nebenwirkungen zu useEffect migriert.Wenn der PR Dateien in {server/**, api/**, backend/**} ändert und es keine Änderungen in {**/*.test.*, **/__tests__/**, tests/**} gibt:- Einen blockierenden Bug mit dem Titel „Fehlende Tests für Backend-Änderungen“ hinzufügen.- Text: „Dieser PR ändert Backend-Code, enthält aber keine begleitenden Tests. Bitte Tests hinzufügen oder aktualisieren.“- Das Label „quality“ anwenden.Wenn eine geänderte Datei /(?:^|\s)(TODO|FIXME)(?:\s*:|\s+)/ enthält:- Einen nicht blockierenden Bug mit dem Titel „TODO/FIXME-Kommentar gefunden“ hinzufügen.- Text: „TODO/FIXME durch eine Referenz auf ein getracktes Issue ersetzen, z. B. `TODO(#1234): ...`, oder entfernen.“- Wenn das TODO bereits auf ein Issue-Muster /#\d+|[A-Z]+-\d+/ verweist, den Bug automatisch als gelöst markieren.In deinem Agent ausführen
Verwende die Skills /review-bugbot oder /review, um Bugbot vor dem Pushen des Codes in deinem Agent auszuführen.
Welcher Diff geprüft wird: Standardmäßig prüft /review-bugbot die Änderungen in deinem Branch: jede Änderung gegenüber dem Base-Branch, einschließlich committeter und nicht committeter Änderungen. Bitte den Agent, nur deine nicht committeten Änderungen zu prüfen, wenn du gezielteres Feedback möchtest.
Vergleichs-Branch: /review-bugbot vergleicht mit deinem Standard-Base-Branch. Wenn dein Base-Branch nicht der Standard ist (z. B. main), teile dem Agent mit, mit welchem Branch verglichen werden soll, oder lass ihn dies aus dem Kontext ableiten.
Mit deinem Pull Request synchronisieren
/review-bugbot-Reviews bleiben mit Bugbot in deinem verbundenen SCM (GitHub, GitLab oder Bitbucket) synchron.
Im Hintergrund speichert /review-bugbot die Patch-ID des überprüften Diffs. Erkennt Bugbot in deinem SCM ein Diff mit derselben Patch-ID, überspringt es die Review und hinterlässt einen Kommentar, dass es dieses Diff bereits überprüft hat.
Ein häufiger Anwendungsfall: Führe /review-bugbot aus, öffne dann einen Pull Request mit demselben Diff. Bugbot erkennt die Review und überspringt die PR-Review im Remote-Repository.
/review und /review-bugbot sind ab Cursor 3.7 sowie unter cursor.com/agents verfügbar. CLI-Unterstützung folgt in Kürze.
Autofix
Bugbot Autofix startet automatisch einen Cloud-Agent, um bei PR-Reviews gefundene Bugs zu beheben.
So funktioniert es
Wenn Bugbot während einer PR-Review Bugs findet, kann es automatisch:
- einen Cloud-Agent starten, um die gemeldeten Issues zu analysieren und zu beheben
- Fixes in den bestehenden oder einen neuen Branch pushen (abhängig von deinen Einstellungen)
- einen Kommentar mit den Ergebnissen zur ursprünglichen PR posten
Konfiguration
Konfiguriere das Autofix-Verhalten in Bugbot-Automatisierungen.
Team-Admins können einen Standard-Autofix-Modus für alle Teammitglieder in einer GitHub-Organisation festlegen:
- Aus — Autofix ist standardmäßig deaktiviert
- Neuen Branch erstellen (Empfohlen) — Fixes für Teammitglieder in einen neuen Branch pushen
- In bestehenden Branch committen — Fixes direkt in den PR-Branch pushen (max. 3 Versuche pro PR, um Schleifen zu vermeiden)
Einzelne Teammitglieder können diese Standardeinstellungen in ihren persönlichen Einstellungen überschreiben.
Autofix verwendet dein Standard-Agent-Modell aus Einstellungen → Modelle. Wenn du keine persönliche Modellpräferenz festgelegt hast, verwendet Autofix das Standardmodell deines Teams (falls du in einem Team bist) oder das Systemstandardmodell.
Anforderungen
Für Autofix ist Folgendes erforderlich:
- On-Demand-Nutzung muss aktiviert sein
- Speicher muss aktiviert sein (nicht im Legacy Privacy Mode)
Abrechnung
Autofix nutzt Cloud-Agent-Credits und wird zu den Tarifen deines Plans abgerechnet. Für Cloud Agents gilt dein bestehender Preisplan.
MCP-Unterstützung
Bugbot ist in deine MCP-Server integriert, sodass deine AI-Tools direkt mit Bugbot interagieren können. Nutze den MCP-Server, um Bugbot zusätzliche Tools für den Review-Prozess bereitzustellen.
So legst du los:
- Folge den Anweisungen zur Einrichtung des MCP-Servers in der MCP-Dokumentation.
- Füge die Tools zu Bugbot in Automatisierungen hinzu.
MCP-Unterstützung ist nur in Team- und Enterprise-Tarifen verfügbar.
Admin-API für die Konfiguration
Team-Admins können mit der Bugbot Admin-API Repositories verwalten und festlegen, welche Nutzer Bugbot nutzen können. Damit können Sie die Repository-Verwaltung automatisieren, Bugbot für mehrere Repositories aktivieren oder die Nutzerbereitstellung in interne Tools integrieren.
Authentifizierung
Für alle Endpunkte ist ein Team-Admin-API-Schlüssel erforderlich, der als Bearer-Token übergeben wird:
Authorization: Bearer $API_KEYSo erstellen Sie einen API-Schlüssel:
- Öffnen Sie API Keys im Cursor-Dashboard.
- Klicken Sie auf New API Key.
- Speichern Sie den API-Schlüssel.
Alle Endpunkte sind auf 60 Anfragen pro Minute und Team begrenzt.
Repositories aktivieren oder deaktivieren
Verwenden Sie den Endpunkt /bugbot/repo/update, um Bugbot für ein Repository ein- oder auszuschalten:
curl -X POST https://api.cursor.com/bugbot/repo/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "repoUrl": "https://github.com/your-org/your-repo", "enabled": true, "manualTriggerOnly": false }'Parameter:
repoUrl(string, erforderlich): Die vollständige URL des Repositorysenabled(boolean, erforderlich):true, um Bugbot zu aktivieren,false, um ihn zu deaktivierenmanualTriggerOnly(boolean, optional): Beitruewird Bugbot für dieses Repository nicht automatisch bei PR-Aktualisierungen ausgeführt. Manuelle Auslöser wie Kommentare mitcursor reviewoderbugbot runfunktionieren weiterhin.
Aufgrund des Cachings kann es einen Moment dauern, bis die UI für Automatisierungen über die API vorgenommene Änderungen anzeigt. Die API-Antwort zeigt den aktuellen Zustand in der Datenbank.
Repositories auflisten
Verwende den Endpunkt /bugbot/repos, um alle Repositories und ihre Bugbot-Einstellungen für dein Team aufzulisten:
curl https://api.cursor.com/bugbot/repos \ -H "Authorization: Bearer $API_KEY"Die Antwort enthält für jedes Repository den Aktivierungsstatus, die Einstellung „Nur manuell“ und Zeitstempel.
Nutzerzugriff verwalten
Verwende den Endpunkt /bugbot/user/update, um festzulegen, welche GitHub-, GitLab- oder Bitbucket-Nutzer die Bugbot-Lizenzen deines Teams nutzen können. Unternehmen verwenden diesen Endpunkt, um die Bereitstellung von Bugbot in interne Tools für Zugriffsanfragen zu integrieren.
Voraussetzungen
Aktiviere vor dem Aufruf dieses Endpunkts in deinen Bugbot-Einstellungen für das Team den Allowlist- oder Blocklist-Modus:
- **Allowlist-Modus („Nur …“) **: Nur Nutzer auf der Liste können Bugbot nutzen
- **Blocklist-Modus („Alle außer …“) **: Alle Nutzer außer denen auf der Liste können Bugbot nutzen
Wenn keiner der Modi aktiviert ist, gibt die API einen Fehler zurück.
Nutzer hinzufügen oder entfernen
curl -X POST https://api.cursor.com/bugbot/user/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "username": "octocat", "allow": true }'Parameter:
username(string, erforderlich): Der GitHub-, GitLab- oder Bitbucket-Benutzername (Groß-/Kleinschreibung wird nicht berücksichtigt)allow(boolean, erforderlich): Gibt an, ob Zugriff gewährt oder entzogen wird
Das Verhalten von allow hängt vom aktiven Modus ab:
| Modus | allow: true | allow: false |
|---|---|---|
| Allowlist | Fügt den Nutzer zur Liste hinzu (kann Bugbot nutzen) | Entfernt den Nutzer aus der Liste (kann Bugbot nicht nutzen) |
| Blocklist | Entfernt den Nutzer aus der Blocklist (kann Bugbot nutzen) | Fügt den Nutzer zur Blocklist hinzu (kann Bugbot nicht nutzen) |
Antwort:
{ "outcome": "success", "message": "Updated team-level allowlist for @octocat", "updatedTeamSettings": true, "updatedInstallations": 0}Die Allowlist wird auf Teamebene gespeichert und gilt für alle GitHub-, GitLab- und Bitbucket-Installationen des Teams. Nutzernamen werden in Kleinbuchstaben normalisiert.
Beispiel: Nutzer über ein internes Tool bereitstellen
Verbinden Sie diese API mit einem internen Portal für Zugriffsanfragen. Wenn ein Mitarbeiter Zugriff auf Bugbot anfordert, ruft das Portal die API auf, um ihn hinzuzufügen. Wenn er das Unternehmen verlässt oder den Zugriff verliert, ruft es die API auf, um ihn zu entfernen.
Zugriff gewähren:
curl -X POST https://api.cursor.com/bugbot/user/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"username": "employee-scm-username", "allow": true}'Zugriff widerrufen:
curl -X POST https://api.cursor.com/bugbot/user/update \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"username": "employee-scm-username", "allow": false}'Preise
Bugbot rechnet nutzungsbasiert ab.
Die Bugbot-Preise wurden mit der Preisaktualisierung im Mai 2026 geändert. Hintergrundinformationen findest du im Ankündigungsblogbeitrag. Wenn du noch den alten sitzbasierten Plan nutzt, siehe Legacy-Bugbot-Preise.
Abrechnung
Nutzungsbasierte Abrechnung
Bugbot Teams umfasst:
- Code-Reviews für alle PRs
- Analysen und Berichte
- Die Möglichkeit, die für Reviews verwendete Aufwandstufe von Bugbot festzulegen
- Erweiterte Regeln und Einstellungen
Bugbot Teams rechnet über die nutzungsbasierte Abrechnung ab. Die aktuellen Preise findest du auf der Preisseite.
Erste Schritte
Abonniere über dein Team-Dashboard, um die Abrechnung zu aktivieren.
Fehlerbehebung
Wenn Bugbot nicht funktioniert:
- Aktiviere den ausführlichen Modus, indem du
cursor review verbose=trueoderbugbot run verbose=truekommentierst. So erhältst du detaillierte Protokolle, die geladenen Bugbot-Regeln und eine Request-ID. - Überprüfe die Permissions, um sicherzustellen, dass Bugbot Repository-Zugriff hat
- Überprüfe die Installation, um sicherzustellen, dass die Integration deines Repository-Providers installiert und aktiviert ist
Gib beim Melden von Issues die Request-ID aus dem ausführlichen Modus an.
FAQ
Ja. Bugbot liest sowohl Pull-Request-Kommentare auf oberster Ebene als auch Inline-Kommentare von verbundenen Anbietern und verwendet sie bei Reviews als Kontext. So werden doppelte Vorschläge vermieden, und Bugbot kann auf vorherigem Feedback von Reviewern aufbauen.
Kommentieren Sie bugbot run verbose=true oder cursor review verbose=true im Pull Request. Bugbot veröffentlicht eine Tabelle mit allen in diesem Durchlauf enthaltenen Regeln und kennzeichnet Regeln, die gekürzt oder ausgelassen wurden. Siehe Regelbeschränkungen, wenn eine Regel fehlt oder abgeschnitten ist.
Ja, Bugbot erfüllt dieselben Datenschutzanforderungen wie Cursor und verarbeitet Daten genauso wie andere Cursor-Anfragen.
Wenn Sie die enthaltene Bugbot-Nutzung vollständig aufgebraucht haben, werden zusätzliche Bugbot-Reviews über nutzungsabhängige Ausgaben abgerechnet.
Weitere Informationen finden Sie in den Einrichtungs- und Netzwerkleitfäden auf den jeweiligen Integrationsseiten: