Bugbot
Bugbot meninjau pull request dan mengidentifikasi bug, masalah keamanan, serta masalah kualitas kode.
Atur Bugbot di Otomatisasi.
Cara kerjanya
Bugbot menganalisis diff PR dan memberikan komentar berisi penjelasan serta saran perbaikan. Bugbot berjalan otomatis setiap kali PR diperbarui atau dapat dipicu secara manual.
- Menjalankan ulasan otomatis pada setiap pembaruan PR
- Pemicu manual dengan menambahkan komentar
cursor reviewataubugbot runpada PR apa pun - Menggunakan komentar PR yang ada sebagai konteks: membaca komentar PR yang terkait (tingkat teratas dan inline) untuk menghindari saran duplikat dan melanjutkan feedback sebelumnya
- Tautan Fix in Cursor membuka issue langsung di Cursor
- Tautan Fix in Web membuka issue langsung di cursor.com/agents
Konfigurasi
Hubungkan repositori Anda melalui Dashboard Cursor untuk mulai menggunakan Bugbot.
- GitHub (termasuk GitHub Enterprise Server): Lihat halaman integrasi GitHub
- GitLab (termasuk GitLab Self-Hosted): Lihat halaman integrasi GitLab
- Bitbucket (termasuk Bitbucket Data Center): Lihat halaman integrasi Bitbucket
Setelah terhubung, buka Bugbot di otomatisasi untuk mengaktifkannya pada repositori tertentu.
Status pemeriksaan CI
Bugbot menerbitkan status untuk setiap run peninjauan. Di GitHub, status ini muncul sebagai pemeriksaan bernama Cursor Bugbot. Di Bitbucket, status ini muncul sebagai status build dengan key cursor-bugbot. Status ini menggunakan kesimpulan berikut:
success: Bugbot tidak menemukan issue, dan tidak ada komentar Bugbot yang belum terselesaikan dari run sebelumnya.neutral: Bugbot menemukan issue, run dibatalkan oleh commit yang lebih baru, atau Bugbot mengalami error internal. Ini adalah kesimpulan default saat Bugbot melaporkan temuan.failure: Bugbot menemukan issue dan pemeriksaan dikonfigurasi untuk gagal jika ada issue yang belum terselesaikan.
Jika Anda menggunakan perlindungan branch, wajibkan pemeriksaan Bugbot atau status build untuk memastikan Bugbot berjalan sebelum penggabungan. Mewajibkan status saja tidak memblokir penggabungan saat ada temuan karena temuan secara default berstatus neutral. Jika perilaku gagal untuk issue yang belum terselesaikan tersedia bagi organisasi Anda, aktifkan agar temuan yang belum terselesaikan menghasilkan status gagal. Bugbot tidak menghasilkan kesimpulan skipped.
Saat Bugbot Autofix diaktifkan, GitHub juga dapat menampilkan pemeriksaan Cursor Bugbot Autofix terpisah. Pemeriksaan tersebut hanya menggunakan success atau neutral.
Konfigurasi
Pengaturan repositori
Pengguna dan admin tim dapat mengaktifkan Bugbot untuk tiap repositori, mengatur daftar izinkan/larang untuk reviewer, serta menetapkan:
- Jalankan hanya sekali per PR per instalasi, lewati commit berikutnya
Bugbot berjalan untuk semua kontributor di repositori yang diaktifkan, terlepas dari keanggotaan tim.
Pengaturan pribadi
Anggota tim dapat mengganti pengaturan untuk PR mereka sendiri:
- Jalankan hanya saat disebut melalui komentar
cursor reviewataubugbot run - Jalankan hanya sekali per PR, lewati commit berikutnya
- Aktifkan ulasan pada PR draf untuk mencakup pull request draf dalam ulasan otomatis
Analitik
Buka Bugbot di otomatisasi untuk melihat aktivitas peninjauan dan hasilnya.
API
Tim Enterprise dapat menggunakan Bugbot API untuk memicu review dan mengambil analitik per review. Buat kunci API di Cursor Dashboard → API Keys, lalu lakukan autentikasi dengan Otentikasi Dasar.
Memicu review
/bugbot/reviewAntrekan review Bugbot untuk pull request atau merge request. Permintaan akan merespons setelah review diantrekan; review akan berjalan secara asinkron.
Memerlukan kunci API dengan cakupan admin:*. Endpoint ini dibatasi hingga 30 permintaan per menit per tim.
Setel dryRun ke true untuk menjalankan seluruh alur analisis tanpa memposting komentar review, komentar inline, pemeriksaan, atau efek samping SCM lainnya. Tinjauan dry-run tetap menyimpan temuan dan dikenai biaya seperti review biasa. Ambil tinjauan tersebut dengan GET /analytics/team/bugbot-reviews. Permintaan dry-run memiliki batas tambahan 10 permintaan per menit per tim.
Bodi Permintaan
prUrl string (wajib)
dryRun boolean (opsional)
true, jalankan analisis dan simpan temuan tanpa memposting apa pun ke provider SCM. Default: 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 }'Respons:
{ "outcome": "success", "message": "Bugbot review queued", "request_id": "6e0d261c-86a2-4383-89f0-9162c1c10662", "dry_run": false}Respons dry-run menggunakan "message": "Bugbot dry-run review queued" dan "dry_run": true.
Simpan request_id agar dapat mencocokkannya dengan review yang selesai di endpoint analitik.
Jika Bugbot tidak dapat meninjau pull request, endpoint akan mengembalikan 400 Bad Request beserta alasannya:
{ "outcome": "error", "message": "Bugbot is disabled for this repository"}Analitik review
/analytics/team/bugbot-reviewsMengembalikan satu item untuk setiap review Bugbot yang selesai, mencakup commit yang ditinjau, jumlah temuan, biaya yang ditagihkan, dan data penyelesaian per temuan.
Mencakup review yang diposting dan review dry-run. Temuan yang diposting diidentifikasi oleh comment_id dan resolution_status. Sebaliknya, temuan dry-run mengembalikan title, description, dan locations karena tidak ada yang diposting ke SCM.
Memerlukan kunci API dengan cakupan read:*.
Parameter kueri
startDate string (opsional)
endDate string (opsional)
repo string (opsional)
host/owner/repo. Protokol dan sufiks .git bersifat opsional.prNumber number (opsional)
page number (opsional)
1.pageSize number (opsional)
100, maks.: 250.dryRun boolean (opsional)
true) atau review yang diposting (false).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'Respons (tinjauan yang diposting):
{ "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 }}Respons (tinjauan dry-run):
{ "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, dan bugs[].severity dapat bernilai null ketika tidak tersedia. cost_cents bernilai null ketika tinjauan tidak ditagihkan secara terpisah. Untuk tinjauan dry-run, bugs[].title, bugs[].description, dan bugs[].locations memuat isi temuan. Temuan dry-run memiliki comment_id: null dan resolution_status: null karena tidak ada yang diposting ke SCM.
Memicu dan mengambil hasil tinjauan
- Panggil
POST /bugbot/reviewdengan URL pull request. Sertakan"dryRun": trueuntuk menganalisis tanpa memposting ke SCM. - Simpan
request_idyang dikembalikan. - Cek secara berkala
GET /analytics/team/bugbot-reviews, dengan memfilter berdasarkanrepodanprNumber. gunakandryRun=truejika Anda memicu tinjauan dry-run. - Temukan item dengan
request_idyang cocok dengan respons pemicu.
Analytics mungkin memerlukan waktu singkat sebelum tersedia setelah tinjauan masuk ke antrean.
Review inkremental
Secara default, Bugbot meninjau seluruh diff pull request setiap kali di-push. Aktifkan Review Inkremental di Bugbot otomatisasi agar hanya perubahan sejak review Bugbot sebelumnya yang ditinjau.
Tingkat Upaya
Tingkat upaya menentukan seberapa banyak waktu yang digunakan Bugbot untuk bernalar selama peninjauan. Tingkat upaya yang lebih tinggi dapat menemukan lebih banyak bug, tetapi setiap peninjauan mungkin memerlukan waktu lebih lama dan menggunakan lebih banyak penggunaan.
Pilih salah satu tingkat upaya berikut:
- Default: Mengoptimalkan efisiensi dan kecepatan. Peninjauan lebih murah, tetapi Bugbot mungkin menemukan lebih sedikit bug.
- High: Menggunakan lebih banyak waktu untuk bernalar. Peninjauan lebih mahal dan memerlukan waktu lebih lama, tetapi Bugbot mungkin menemukan lebih banyak bug.
- Custom: Memungkinkan Anda menjelaskan kapan Bugbot harus menggunakan peninjauan yang lebih lama dan lebih mendalam. Cursor secara dinamis mengatur tingkat upaya berdasarkan instruksi Anda.
Tingkat upaya hanya tersedia untuk paket Bugbot berbasis penggunaan.
Aturan
Gunakan aturan tim, aturan repositori, dan file proyek .cursor/BUGBOT.md untuk memandu peninjauan.
Aturan tim
Admin tim dapat membuat aturan di Bugbot otomatisasi yang berlaku untuk semua repositori dalam tim. Aturan ini tersedia untuk setiap repositori yang diaktifkan, sehingga memudahkan penerapan standar di seluruh organisasi.
Jika Aturan Tim, aturan repositori, dan berkas aturan proyek semuanya berlaku, Bugbot menggabungkannya menjadi satu blok aturan tinjauan. Urutan penyertaan: Aturan Tim → proyek .cursor/BUGBOT.md (termasuk file bertingkat) → aturan yang dipelajari → aturan manual.
Batas aturan
Setiap aturan dipangkas hingga 30.000 karakter saat disertakan dalam tinjauan. Total aturan yang dicakup Bugbot dalam sebuah tinjauan dibatasi hingga 100.000 karakter. Jika melebihi batas total tersebut, beberapa aturan mungkin dihilangkan. Aturan tim wajib diprioritaskan daripada aturan yang tidak wajib.
Lihat aturan yang digunakan dalam tinjauan
Tambahkan komentar bugbot run verbose=true atau cursor review verbose=true pada pull request. Bugbot akan memposting tabel berisi setiap aturan yang digunakan dalam proses tersebut serta menandai aturan yang dipotong atau dihilangkan.
Aturan repositori
Aturan proyek
Buat file .cursor/BUGBOT.md untuk menyediakan konteks khusus proyek bagi peninjauan. Bugbot selalu menyertakan file .cursor/BUGBOT.md di direktori root serta file tambahan yang ditemukan saat menelusuri direktori ke atas dari file yang diubah.
project/ .cursor/BUGBOT.md # Selalu disertakan (aturan untuk seluruh proyek) backend/ .cursor/BUGBOT.md # Disertakan saat meninjau file backend api/ .cursor/BUGBOT.md # Disertakan saat meninjau file API frontend/ .cursor/BUGBOT.md # Disertakan saat meninjau file frontendAturan proyek Cursor (file *.mdc di .cursor/rules/) tidak berlaku untuk run Bugbot.
Aturan yang dipelajari
Di aturan repositori Bugbot, aktifkan pembelajaran untuk Organisasi dan repositori Anda.
Aturan dibuat secara otomatis berdasarkan aktivitas tim Anda di GitHub pada repositori tersebut, atau dengan mengisi data historis repositori secara manual.
Anda juga dapat mengajarkan aturan baru kepada Bugbot secara inline dengan menambahkan komentar @cursor remember [fact] pada PR mana pun. Bugbot menyimpan fakta tersebut sebagai aturan yang dipelajari dan menerapkannya pada peninjauan mendatang.
Cursor akan secara otomatis mengaktifkan atau menonaktifkan aturan seiring waktu, berdasarkan aktivitas tim Anda yang terus dipelajari.
| Field | Deskripsi |
|---|---|
| Nama | Judul singkat untuk aturan. |
| Konten aturan | Instruksi yang harus diikuti Bugbot (misalnya, aturan gaya, path, atau ekspektasi peninjauan). |
| Path tercakup | Pola glob opsional seperti src/components/**. Biarkan kosong untuk menerapkan aturan ke seluruh repositori. |
Aturan manual
Di aturan repositori Bugbot, Anda dapat membuat aturan manual untuk masing-masing repositori.
| Field | Deskripsi |
|---|---|
| Nama | Judul singkat untuk aturan. |
| Konten aturan | Instruksi yang harus diikuti Bugbot (misalnya, aturan gaya, path, atau ekspektasi peninjauan). |
| Path yang dicakup | Pola glob opsional seperti src/components/**. Biarkan kosong agar aturan berlaku untuk seluruh repositori. |
Analitik aturan
Analitik pada aturan Bugbot menunjukkan kinerjanya pada PR aktual:
| Metrik | Arti |
|---|---|
| Issue yang ditemukan | Jumlah temuan yang dilaporkan Bugbot terkait aturan ini. |
| PR yang ditinjau | Jumlah pull request yang memunculkan temuan tersebut. |
| Issue yang diterima | Jumlah temuan yang diterima oleh tim Anda. |
| Tingkat penerimaan | Persentase temuan yang diterima. |
Contoh
Jika file yang diubah berisi pola string /\beval\s*\(|\bexec\s*\(/i, maka:- Tambahkan Bug pemblokir berjudul "Eksekusi dinamis berbahaya" dengan isi: "Penggunaan eval/exec ditemukan. Ganti dengan alternatif yang aman atau jelaskan alasannya dalam komentar terperinci dan pengujian."- Tetapkan Bug kepada penulis PR.- Terapkan label "security".Jika PR memodifikasi file dependensi (package.json, pnpm-lock.yaml, yarn.lock, requirements.txt, go.mod, Cargo.toml), maka:- Jalankan License Scan bawaan.- Jika dependensi baru atau yang ditingkatkan versinya memiliki lisensi dalam {GPL-2.0, GPL-3.0, AGPL-3.0}, maka: - Tambahkan Bug pemblokir berjudul "Lisensi yang tidak diizinkan terdeteksi" - Cantumkan nama, versi, dan lisensi paket yang melanggar dalam isi Bug - Terapkan label "compliance" dan "security"Untuk file yang cocok dengan **/*.{js,jsx,ts,tsx} dalam proyek React:Jika file yang diubah berisi /componentWillMount\s*\(/, maka:- Tambahkan Bug pemblokir berjudul "Metode lifecycle React yang deprecated"- Isi: "Ganti componentWillMount dengan constructor atau useEffect. Lihat dokumentasi React."- Sarankan cuplikan autofix untuk memigrasikan efek samping ke useEffect.Jika PR memodifikasi file di {server/**, api/**, backend/**} dan tidak ada perubahan di {**/*.test.*, **/__tests__/**, tests/**}, maka:- Tambahkan Bug pemblokir berjudul "Pengujian untuk perubahan backend tidak tersedia"- Isi: "PR ini memodifikasi kode backend tetapi tidak mencakup pengujian terkait. Harap tambahkan atau perbarui pengujian."- Terapkan label "quality"Jika file yang diubah berisi /(?:^|\s)(TODO|FIXME)(?:\s*:|\s+)/, maka:- Tambahkan Bug non-pemblokir berjudul "Komentar TODO/FIXME ditemukan"- Isi: "Ganti TODO/FIXME dengan referensi issue yang dilacak, misalnya `TODO(#1234): ...`, atau hapus."- Jika TODO sudah merujuk pada pola issue /#\d+|[A-Z]+-\d+/, tandai Bug sebagai selesai secara otomatis.Jalankan di agent Anda
Gunakan skill /review-bugbot atau /review untuk menjalankan Bugbot dari agent Anda sebelum Anda melakukan push kode.
Diff yang ditinjau: Secara default, /review-bugbot meninjau perubahan di branch Anda: semua perubahan terhadap base branch, termasuk perubahan yang sudah dan belum di-commit. Minta agar hanya perubahan yang belum di-commit ditinjau jika Anda menginginkan feedback yang lebih terfokus.
Dibandingkan dengan branch mana: /review-bugbot membandingkan perubahan dengan base branch default Anda. Jika base branch Anda bukan branch default (misalnya main), beri tahu agent branch yang akan digunakan sebagai pembanding atau biarkan agent menentukannya dari konteks.
Sinkronkan dengan pull request Anda
Ulasan /review-bugbot tetap tersinkron dengan Bugbot di SCM (GitHub, GitLab, atau Bitbucket) yang terhubung.
Di balik layar, /review-bugbot menyimpan ID patch dari diff yang ditinjau. Saat Bugbot di SCM Anda menemukan diff dengan ID patch yang sama, Bugbot melewati ulasan tersebut dan meninggalkan komentar bahwa diff itu sudah ditinjau.
Contoh penggunaan umum: jalankan /review-bugbot, lalu buka pull request dengan diff yang sama. Bugbot akan mengenali ulasan tersebut dan melewati ulasan PR jarak jauh.
/review dan /review-bugbot tersedia di Cursor 3.7+ dan di cursor.com/agents. Dukungan CLI akan segera hadir.
Autofix
Bugbot Autofix secara otomatis menjalankan agen cloud untuk memperbaiki bug yang ditemukan dalam ulasan PR.
Cara kerjanya
Saat Bugbot menemukan bug selama ulasan PR, Bugbot dapat secara otomatis:
- Menjalankan agen cloud untuk menganalisis dan memperbaiki issue yang dilaporkan
- Melakukan push perbaikan ke branch yang ada atau branch baru (tergantung pengaturan Anda)
- Memposting komentar pada PR awal dengan hasilnya
Konfigurasi
Atur perilaku autofix di Bugbot otomatisasi.
Admin tim dapat mengatur mode autofix default untuk semua anggota tim dalam organisasi GitHub:
- Nonaktif — autofix dinonaktifkan secara default
- Buat Branch Baru (Disarankan) — Push perbaikan ke branch baru untuk anggota tim
- Commit ke Branch yang Ada — Push perbaikan langsung ke branch PR (maks. 3 percobaan per PR untuk mencegah loop)
Anggota tim dapat menggantikan default ini di pengaturan pribadi mereka.
Autofix menggunakan model agent default Anda dari Settings → Models. Jika Anda belum mengatur preferensi model pribadi, autofix akan menggunakan model default tim Anda (jika Anda tergabung dalam tim) atau model default sistem.
Persyaratan
Autofix memerlukan:
- Penetapan harga penggunaan on-demand diaktifkan
- Penyimpanan diaktifkan (tidak dalam Mode Privasi lama)
Penagihan
Autofix menggunakan kredit Agen Cloud dan biayanya ditagihkan sesuai tarif paket Anda. Penagihan Agen Cloud mengikuti paket harga yang Anda gunakan saat ini.
Dukungan MCP
Bugbot terintegrasi dengan server MCP Anda sehingga alat AI dapat berinteraksi langsung dengan Bugbot. Gunakan server MCP untuk menyediakan alat tambahan yang memandu proses peninjauan Bugbot.
Untuk memulai:
- Ikuti dokumentasi MCP untuk petunjuk konfigurasi server MCP.
- Tambahkan alat ke Bugbot in otomatisasi.
Dukungan MCP hanya tersedia pada paket Team dan Enterprise.
API Konfigurasi Admin
Admin tim dapat menggunakan Bugbot Admin API untuk mengelola repositori dan mengatur pengguna yang dapat menggunakan Bugbot. Gunakan API ini untuk mengotomatiskan pengelolaan repositori, mengaktifkan Bugbot di beberapa repositori, atau mengintegrasikan penyediaan pengguna dengan alat internal.
Autentikasi
Semua endpoint memerlukan Admin API Key tim yang dikirimkan sebagai token Bearer:
Authorization: Bearer $API_KEYUntuk membuat kunci API:
- Buka API Keys di Dashboard Cursor
- Klik New API Key
- Simpan kunci API
Semua endpoint dibatasi hingga 60 permintaan per menit per tim.
Mengaktifkan atau menonaktifkan repositori
Gunakan endpoint /bugbot/repo/update untuk mengaktifkan atau menonaktifkan Bugbot untuk repositori:
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, wajib): URL lengkap repositorienabled(boolean, wajib):trueuntuk mengaktifkan Bugbot,falseuntuk menonaktifkannyamanualTriggerOnly(boolean, opsional): Jika bernilaitrue, Bugbot tidak akan berjalan secara otomatis saat PR diperbarui di repositori ini. Pemicu manual, seperti menambahkan komentarcursor reviewataubugbot run, tetap berfungsi.
UI otomatisasi mungkin memerlukan waktu sejenak untuk menampilkan perubahan yang dibuat melalui API karena caching. Respons API menampilkan status saat ini di database.
Mendaftar repositori
Gunakan endpoint /bugbot/repos untuk menampilkan semua repositori beserta pengaturan Bugbot untuk tim Anda:
curl https://api.cursor.com/bugbot/repos \ -H "Authorization: Bearer $API_KEY"Respons mencakup status diaktifkan, pengaturan khusus manual, dan stempel waktu setiap repositori.
Mengelola akses pengguna
Gunakan endpoint /bugbot/user/update untuk menentukan pengguna GitHub, GitLab, atau Bitbucket yang dapat menggunakan lisensi Bugbot tim Anda. Perusahaan dapat menggunakannya untuk mengintegrasikan penyediaan pengguna Bugbot dengan alat internal untuk permintaan akses.
Prasyarat
Sebelum memanggil endpoint ini, aktifkan mode daftar yang diizinkan atau daftar blokir di pengaturan Bugbot tim Anda:
- Mode daftar yang diizinkan ("Hanya..."): Hanya pengguna dalam daftar yang dapat menggunakan Bugbot
- Mode daftar blokir ("Semua kecuali..."): Semua pengguna dapat menggunakan Bugbot, kecuali yang ada dalam daftar
Jika kedua mode tidak diaktifkan, API mengembalikan error.
Menambah atau menghapus pengguna
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, wajib): Nama pengguna GitHub, GitLab, atau Bitbucket (tidak peka terhadap huruf besar/kecil)allow(boolean, wajib): Menentukan apakah akses diberikan atau dicabut
Perilaku allow bergantung pada mode aktif:
| Mode | allow: true | allow: false |
|---|---|---|
| Daftar yang diizinkan | Menambahkan pengguna ke daftar (dapat menggunakan Bugbot) | Menghapus pengguna dari daftar (tidak dapat menggunakan Bugbot) |
| Daftar blokir | Menghapus pengguna dari daftar blokir (dapat menggunakan Bugbot) | Menambahkan pengguna ke daftar blokir (tidak dapat menggunakan Bugbot) |
Respons:
{ "outcome": "success", "message": "Updated team-level allowlist for @octocat", "updatedTeamSettings": true, "updatedInstallations": 0}Daftar yang diizinkan disimpan di tingkat tim dan berlaku untuk semua instalasi GitHub, GitLab, dan Bitbucket yang dimiliki tim tersebut. Nama pengguna dinormalisasi ke huruf kecil.
Contoh: penyediaan pengguna melalui tool internal
Hubungkan API ini ke portal permintaan akses internal. Saat seorang karyawan meminta akses ke Bugbot, portal akan memanggil API untuk menambahkannya. Saat karyawan tersebut keluar atau kehilangan akses, portal akan memanggil API untuk menghapusnya.
Berikan akses:
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}'Cabut akses:
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}'Penetapan harga
Bugbot menggunakan penagihan berbasis penggunaan.
Penetapan harga Bugbot berubah melalui pembaruan harga pada Mei 2026. Lihat postingan blog pengumuman untuk informasi selengkapnya. Jika Anda masih menggunakan paket lama berbasis seat, lihat penetapan harga Bugbot lama.
Penagihan
Pemecahan masalah
Jika Bugbot tidak berfungsi:
- Aktifkan mode verbose dengan menambahkan komentar
cursor review verbose=trueataubugbot run verbose=trueuntuk mendapatkan log terperinci, aturan Bugbot yang dimuat, dan ID permintaan - Periksa izin untuk memastikan Bugbot memiliki akses ke repositori
- Verifikasi instalasi untuk memastikan integrasi penyedia repositori Anda telah diinstal dan diaktifkan
Sertakan ID permintaan dari mode verbose saat melaporkan issue.
FAQ
Ya. Bugbot membaca komentar pull request tingkat atas dan inline dari provider yang terhubung, lalu menyertakannya sebagai konteks selama review. Hal ini membantu menghindari saran duplikat dan memungkinkan Bugbot memanfaatkan masukan sebelumnya dari reviewer.
Tambahkan komentar bugbot run verbose=true atau cursor review verbose=true pada pull request. Bugbot akan memposting tabel semua aturan yang digunakan dalam proses tersebut dan menandai aturan yang terpotong atau dihilangkan. Lihat Batas aturan jika suatu aturan tidak ada atau terpotong.
Ya, Bugbot mematuhi standar privasi yang sama dengan Cursor dan memproses data dengan cara yang sama seperti permintaan Cursor lainnya.
Setelah seluruh penggunaan Bugbot yang disertakan habis, review Bugbot tambahan akan ditagihkan ke pengeluaran sesuai permintaan.
Lihat panduan konfigurasi dan jaringan di halaman integrasi terkait: