[Go to site: main page, start]

Skip to main content

Command Palette

Search for a command to run...

क्लाउड एजेंट्स

Bugbot

Bugbot pull requests की समीक्षा करता है और bugs, security issues और code quality problems की पहचान करता है।

स्वचालन में Bugbot को कॉन्फ़िगर करें।

यह कैसे काम करता है

Bugbot PR diffs का विश्लेषण करता है और स्पष्टीकरण व समाधान के सुझावों के साथ टिप्पणियाँ छोड़ता है। यह हर PR अपडेट पर स्वचालित रूप से चलता है या ट्रिगर किए जाने पर मैन्युअल रूप से।

  • हर PR अपडेट पर स्वचालित समीक्षाएँ चलाता है
  • किसी भी PR पर cursor review या bugbot run टिप्पणी करके मैन्युअल ट्रिगर
  • संदर्भ के रूप में मौजूदा PR टिप्पणियों का उपयोग करता है: डुप्लिकेट सुझावों से बचने और पहले की प्रतिक्रिया को आगे बढ़ाने के लिए जुड़ी हुई PR टिप्पणियाँ (शीर्ष-स्तर और इनलाइन) पढ़ता है
  • Cursor में ठीक करें लिंक समस्याओं को सीधे Cursor में खोलते हैं
  • Web में ठीक करें लिंक समस्याओं को सीधे cursor.com/agents में खोलते हैं

सेटअप

Bugbot का उपयोग शुरू करने के लिए अपनी रिपॉजिटरीज़ को Cursor डैशबोर्ड से कनेक्ट करें।

कनेक्ट करने के बाद, चुनिंदा रिपॉजिटरीज़ पर Bugbot को सक्षम करने के लिए Bugbot in स्वचालन खोलें।

CI जाँच की स्थितियाँ

Bugbot हर समीक्षा रन के लिए एक स्थिति प्रकाशित करता है। GitHub पर यह Cursor Bugbot नाम की जाँच के रूप में दिखता है। Bitbucket पर यह cursor-bugbot कुंजी वाली बिल्ड स्थिति के रूप में दिखता है। स्थिति में ये निष्कर्ष होते हैं:

  • success: Bugbot को कोई समस्या नहीं मिली और पिछले रन की कोई अनसुलझी Bugbot टिप्पणियाँ नहीं हैं।
  • neutral: Bugbot को समस्याएँ मिलीं, रन को किसी नए कमिट के कारण रद्द कर दिया गया, या Bugbot में आंतरिक त्रुटि आई। Bugbot द्वारा फ़ाइंडिंग रिपोर्ट किए जाने पर यह डिफ़ॉल्ट निष्कर्ष होता है।
  • failure: Bugbot को समस्याएँ मिलीं और जाँच को अनसुलझी समस्याओं पर विफल होने के लिए कॉन्फ़िगर किया गया है।

अगर आप ब्रांच सुरक्षा का उपयोग करते हैं, तो मर्ज से पहले Bugbot रन सुनिश्चित करने के लिए Bugbot जाँच या बिल्ड स्थिति को आवश्यक करें। केवल स्थिति को आवश्यक करने से फ़ाइंडिंग के कारण मर्ज ब्लॉक नहीं होते, क्योंकि फ़ाइंडिंग के लिए डिफ़ॉल्ट स्थिति neutral होती है। अगर आपके संगठन के लिए अनसुलझी समस्याओं पर विफल होने का व्यवहार उपलब्ध है, तो अनसुलझी फ़ाइंडिंग के लिए विफल स्थिति पाने हेतु इसे सक्षम करें। Bugbot skipped निष्कर्ष एमिट नहीं करता।

जब Bugbot ऑटोफिक्स सक्षम होता है, तो GitHub एक अलग Cursor Bugbot Autofix जाँच भी दिखा सकता है। वह जाँच केवल success या neutral का उपयोग करती है।

कॉन्फ़िगरेशन

एनालिटिक्स

समीक्षा गतिविधि और उसके परिणाम देखने के लिए स्वचालन में Bugbot खोलें।

API

एंटरप्राइज़ टीमें समीक्षाएँ ट्रिगर करने और हर समीक्षा का एनालिटिक्स देखने के लिए Bugbot API का उपयोग कर सकती हैं। Cursor Dashboard → API Keys से API key बनाएँ और Basic Authentication से प्रमाणित करें।

समीक्षा ट्रिगर करें

POST/bugbot/review

किसी पुल रिक्वेस्ट या मर्ज रिक्वेस्ट के लिए Bugbot समीक्षा को कतार में डालें। समीक्षा के कतार में जुड़ते ही अनुरोध वापस हो जाता है; समीक्षा अतुल्यकालिक रूप से चलती है।

इसके लिए admin:* स्कोप वाली API key आवश्यक है। यह endpoint हर टीम के लिए प्रति मिनट 30 अनुरोधों तक सीमित है।

समीक्षा टिप्पणियाँ, इनलाइन टिप्पणियाँ, जाँच या अन्य SCM दुष्प्रभाव पोस्ट किए बिना पूरी विश्लेषण पाइपलाइन चलाने के लिए dryRun को true पर सेट करें। ड्राई-रन समीक्षाएँ फ़ाइंडिंग को फिर भी सहेजती हैं और सामान्य समीक्षाओं की तरह बिल की जाती हैं। इन्हें GET /analytics/team/bugbot-reviews से प्राप्त करें। ड्राई-रन अनुरोधों के लिए हर टीम की अतिरिक्त सीमा प्रति मिनट 10 अनुरोध है।

अनुरोध बॉडी

prUrl string (आवश्यक)

पूरा GitHub पुल रिक्वेस्ट या GitLab मर्ज रिक्वेस्ट URL.

dryRun boolean (वैकल्पिक)

true होने पर, SCM प्रदाता पर कुछ भी पोस्ट किए बिना विश्लेषण चलाएँ और फ़ाइंडिंग सहेजें। डिफ़ॉल्ट: 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  }'

प्रतिक्रिया:

{  "outcome": "success",  "message": "Bugbot review queued",  "request_id": "6e0d261c-86a2-4383-89f0-9162c1c10662",  "dry_run": false}

ड्राई-रन प्रतिक्रिया में "message": "Bugbot dry-run review queued" और "dry_run": true होता है।

request_id सहेजें, ताकि आप एनालिटिक्स endpoint में पूरी हुई समीक्षा का मिलान कर सकें।

अगर Bugbot पुल रिक्वेस्ट की समीक्षा नहीं कर पाता, तो endpoint कारण के साथ 400 Bad Request लौटाता है:

{  "outcome": "error",  "message": "Bugbot is disabled for this repository"}

समीक्षा एनालिटिक्स

GET/analytics/team/bugbot-reviews

हर पूरी हुई Bugbot समीक्षा के लिए एक आइटम लौटाता है, जिसमें समीक्षा किया गया कमिट, फ़ाइंडिंग की संख्या, बिल की गई लागत और हर फ़ाइंडिंग का समाधान डेटा शामिल होता है।

इसमें पोस्ट की गई और ड्राई-रन, दोनों तरह की समीक्षाएँ शामिल हैं। पोस्ट की गई फ़ाइंडिंग की पहचान comment_id और resolution_status से होती है। SCM पर कुछ भी पोस्ट नहीं किया जाता, इसलिए ड्राई-रन फ़ाइंडिंग में इसके बजाय title, description और locations लौटाए जाते हैं।

read:* स्कोप वाली API key आवश्यक है।

क्वेरी पैरामीटर्स

startDate string (वैकल्पिक)

एनालिटिक्स रेंज की शुरुआत। डिफ़ॉल्ट रूप से 7 दिन पहले। तिथि प्रारूप देखें।

endDate string (वैकल्पिक)

एनालिटिक्स रेंज का अंत। डिफ़ॉल्ट रूप से वर्तमान समय। तिथि प्रारूप देखें।

repo string (वैकल्पिक)

host/owner/repo प्रारूप में रिपॉज़िटरी फ़िल्टर। प्रोटोकॉल और .git प्रत्यय वैकल्पिक हैं।

prNumber number (वैकल्पिक)

पुल रिक्वेस्ट या मर्ज रिक्वेस्ट नंबर।

page number (वैकल्पिक)

पेजिनेशन के लिए पृष्ठ संख्या। डिफ़ॉल्ट: 1

pageSize number (वैकल्पिक)

प्रति पृष्ठ समीक्षाओं की संख्या। डिफ़ॉल्ट: 100, अधिकतम: 250

dryRun boolean (वैकल्पिक)

केवल ड्राई-रन (true) या पोस्ट की गई (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'

प्रतिक्रिया (पोस्ट की गई समीक्षा):

{  "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  }}

प्रतिक्रिया (ड्राई-रन समीक्षा):

{  "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, और bugs[].severity का मान null हो सकता है। समीक्षा का अलग से बिल न बनने पर cost_cents का मान null होता है। ड्राई-रन समीक्षाओं में bugs[].title, bugs[].description, और bugs[].locations में फाइंडिंग सामग्री होती है। ड्राई-रन फाइंडिंग में comment_id: null और resolution_status: null होते हैं क्योंकि SCM पर कुछ भी पोस्ट नहीं किया जाता।

समीक्षा ट्रिगर करें और प्राप्त करें

  1. पुल रिक्वेस्ट URL के साथ POST /bugbot/review कॉल करें। SCM पर पोस्ट किए बिना विश्लेषण करने के लिए "dryRun": true पास करें।
  2. लौटाया गया request_id सहेजें।
  3. repo और prNumber के आधार पर फ़िल्टर करके GET /analytics/team/bugbot-reviews को पोल करें। ड्राई-रन समीक्षा ट्रिगर करने पर dryRun=true का उपयोग करें।
  4. उस आइटम को खोजें जिसका request_id, ट्रिगर की प्रतिक्रिया में मिले request_id से मेल खाता हो।

समीक्षा के कतार में जुड़ने के बाद एनालिटिक्स उपलब्ध होने में थोड़ा समय लग सकता है।

क्रमिक समीक्षाएँ

डिफ़ॉल्ट रूप से, Bugbot हर पुश पर पूरी पुल रिक्वेस्ट के diff की समीक्षा करता है। पिछले Bugbot रिव्यू के बाद हुए बदलावों की ही समीक्षा करने के लिए Bugbot स्वचालन में Incremental Review चालू करें।

प्रयास स्तर

प्रयास स्तर यह नियंत्रित करते हैं कि Bugbot समीक्षा के दौरान तर्क करने में कितना समय लगाए। उच्च प्रयास स्तर अधिक बग खोज सकते हैं, लेकिन प्रत्येक समीक्षा में अधिक समय लग सकता है और अधिक उपयोग हो सकता है।

इन प्रयास स्तरों में से चुनें:

  • डिफ़ॉल्ट: दक्षता और गति के लिए अनुकूलित। समीक्षाएँ कम खर्चीली होती हैं, लेकिन Bugbot कम बग खोज सकता है।
  • उच्च: तर्क करने में अधिक समय लगाता है। समीक्षाएँ अधिक खर्चीली होती हैं और अधिक समय लेती हैं, लेकिन Bugbot अधिक बग खोज सकता है।
  • कस्टम: आपको यह बताने देता है कि Bugbot को लंबी और गहन समीक्षाओं का उपयोग कब करना चाहिए। Cursor आपके निर्देशों के आधार पर प्रयास स्तरों को डायनामिक रूप से सेट करता है।

नियम

टीम नियमों, रिपॉज़िटरी नियमों और प्रोजेक्ट की .cursor/BUGBOT.md फ़ाइलों से समीक्षाओं को निर्देशित करें।

टीम नियम

टीम व्यवस्थापक Bugbot स्वचालन में ऐसे नियम बना सकते हैं जो टीम की सभी रिपॉज़िटरी पर लागू हों। ये नियम हर सक्षम रिपॉज़िटरी के लिए उपलब्ध होते हैं, जिससे संगठन-व्यापी मानकों को लागू करना आसान हो जाता है।

नियमों की सीमाएँ

समीक्षा में शामिल किए जाने पर प्रत्येक नियम को 30,000 वर्णों तक सीमित कर दिया जाता है। समीक्षा के लिए Bugbot द्वारा शामिल किए गए सभी नियमों की कुल सीमा 100,000 वर्ण है। इस कुल सीमा से अधिक होने पर कुछ नियम छोड़े जा सकते हैं। आवश्यक टीम नियमों को गैर-आवश्यक नियमों से प्राथमिकता दी जाती है।

देखें कि समीक्षा में किन नियमों का उपयोग हुआ

पुल रिक्वेस्ट पर bugbot run verbose=true या cursor review verbose=true टिप्पणी करें। Bugbot उस रन में शामिल सभी नियमों की तालिका पोस्ट करता है और काट-छाँट किए गए या छोड़े गए नियमों को फ्लैग करता है।

रिपॉज़िटरी नियम

प्रोजेक्ट नियम

समीक्षाओं के लिए प्रोजेक्ट-विशिष्ट संदर्भ देने हेतु .cursor/BUGBOT.md फ़ाइलें बनाएं। Bugbot हमेशा रूट .cursor/BUGBOT.md फ़ाइल और बदली गई फ़ाइलों से ऊपर की ओर खोजते समय मिलने वाली अन्य फ़ाइलों को शामिल करता है।

project/  .cursor/BUGBOT.md          # हमेशा शामिल (पूरे प्रोजेक्ट के नियम)  backend/    .cursor/BUGBOT.md        # बैकएंड फ़ाइलों की समीक्षा के दौरान शामिल    api/      .cursor/BUGBOT.md      # API फ़ाइलों की समीक्षा के दौरान शामिल  frontend/    .cursor/BUGBOT.md        # फ़्रंटएंड फ़ाइलों की समीक्षा के दौरान शामिल

सीखे गए नियम

Bugbot repository rules में अपने संगठनों और रिपॉज़िटरीज़ के लिए लर्निंग सक्षम करें।

नियम उस रिपॉज़िटरी के लिए GitHub पर आपकी टीम की गतिविधि से स्वचालित रूप से बनाए जाते हैं या रिपॉज़िटरी के इतिहास से मैन्युअल बैकफ़िल द्वारा बनाए जाते हैं।

किसी भी PR पर @cursor remember [fact] टिप्पणी करके आप Bugbot को इनलाइन नए नियम भी सिखा सकते हैं। Bugbot इस तथ्य को सीखे गए नियम के रूप में सहेजता है और इसे भविष्य की समीक्षाओं में लागू करता है।

समय के साथ आपकी टीम की गतिविधि के बारे में अधिक जानने पर Cursor नियमों को स्वचालित रूप से सक्षम या अक्षम करता है।

फ़ील्डविवरण
नामनियम का संक्षिप्त शीर्षक।
नियम सामग्रीवे निर्देश जिनका Bugbot को पालन करना चाहिए (अर्थात् शैली गेट, पथ, या समीक्षा अपेक्षाएँ)।
स्कोप्ड पाथ्सवैकल्पिक ग्लोब पैटर्न, जैसे src/components/**। नियम को पूरी रिपॉज़िटरी में लागू करने के लिए खाली छोड़ें।

मैन्युअल नियम

Bugbot रिपॉज़िटरी नियम में, आप अलग-अलग रिपॉज़िटरी के लिए मैन्युअल नियम बना सकते हैं।

फ़ील्डविवरण
नामनियम का संक्षिप्त शीर्षक।
नियम सामग्रीवे निर्देश जिनका Bugbot को पालन करना चाहिए (अर्थात् स्टाइल गेट्स, पथ या समीक्षा अपेक्षाएँ)।
स्कोप्ड पाथ्सवैकल्पिक ग्लोब पैटर्न, जैसे src/components/**। पूरे रिपॉज़िटरी में नियम लागू करने के लिए इसे खाली छोड़ें।

नियम एनालिटिक्स

Bugbot नियम का एनालिटिक्स दिखाता है कि वह वास्तविक PRs पर कैसा प्रदर्शन करता है:

मीट्रिकअर्थ
मिली समस्याएँइस नियम से संबंधित Bugbot द्वारा रिपोर्ट की गई फ़ाइंडिंग की संख्या।
समीक्षित PRsउन पुल रिक्वेस्ट्स की संख्या जिनमें ये फ़ाइंडिंग मिलीं।
स्वीकार की गई समस्याएँआपकी टीम द्वारा स्वीकार की गई फ़ाइंडिंग की संख्या।
स्वीकृति दरस्वीकार की गई फ़ाइंडिंग का प्रतिशत।

उदाहरण

यदि किसी बदली गई फ़ाइल में स्ट्रिंग पैटर्न /\beval\s*\(|\bexec\s*\(/i हो, तो:- शीर्षक "खतरनाक डायनेमिक निष्पादन" और बॉडी के साथ एक ब्लॉकिंग Bug जोड़ें:  "eval/exec का उपयोग पाया गया। इसे सुरक्षित विकल्पों से बदलें या विस्तृत टिप्पणी और परीक्षणों के साथ इसका औचित्य दें।"- Bug को PR लेखक को असाइन करें।- label "security" लागू करें।

यदि PR निर्भरता फ़ाइलों (package.json, pnpm-lock.yaml, yarn.lock, requirements.txt, go.mod, Cargo.toml) को संशोधित करता है, तो:- बिल्ट-इन License Scan चलाएँ।- यदि किसी नई या अपग्रेड की गई निर्भरता का लाइसेंस {GPL-2.0, GPL-3.0, AGPL-3.0} में है, तो:  - शीर्षक "अस्वीकृत लाइसेंस मिला" वाला एक ब्लॉकिंग Bug जोड़ें  - Bug बॉडी में संबंधित package के नाम, संस्करण और लाइसेंस शामिल करें  - labels "compliance" और "security" लागू करें

React प्रोजेक्ट में **/*.{js,jsx,ts,tsx} से मेल खाने वाली फ़ाइलों के लिए:यदि किसी बदली गई फ़ाइल में /componentWillMount\s*\(/ हो, तो:- शीर्षक "अप्रचलित React जीवनचक्र मेथड" वाला एक ब्लॉकिंग Bug जोड़ें- बॉडी: "componentWillMount को constructor या useEffect से बदलें। React docs देखें।"- ऐसा ऑटोफिक्स स्निपेट सुझाएँ जो side effects को useEffect में माइग्रेट करे।

यदि PR {server/**, api/**, backend/**} में फ़ाइलों को संशोधित करता है और {**/*.test.*, **/__tests__/**, tests/**} में कोई परिवर्तन नहीं है, तो:- शीर्षक "बैकएंड परिवर्तनों के लिए परीक्षण अनुपस्थित हैं" वाला एक ब्लॉकिंग Bug जोड़ें- बॉडी: "यह PR बैकएंड कोड को संशोधित करता है, लेकिन इसमें संबंधित परीक्षण शामिल नहीं हैं। कृपया परीक्षण जोड़ें या अपडेट करें।"- label "quality" लागू करें

यदि किसी बदली गई फ़ाइल में /(?:^|\s)(TODO|FIXME)(?:\s*:|\s+)/ हो, तो:- शीर्षक "TODO/FIXME टिप्पणी मिली" वाला एक गैर-ब्लॉकिंग Bug जोड़ें- बॉडी: "TODO/FIXME को किसी ट्रैक की गई समस्या के संदर्भ से बदलें, उदाहरण के लिए, `TODO(#1234): ...`, या इसे हटा दें।"- यदि TODO में पहले से ही समस्या पैटर्न /#\d+|[A-Z]+-\d+/ का संदर्भ है, तो Bug को स्वचालित रूप से resolved के रूप में चिह्नित करें।

अपने एजेंट में चलाएँ

कोड पुश करने से पहले, अपने एजेंट से Bugbot चलाने के लिए /review-bugbot या /review कौशल का उपयोग करें।

किस diff की समीक्षा होती है: डिफ़ॉल्ट रूप से, /review-bugbot आपकी ब्रांच में हुए परिवर्तनों की समीक्षा करता है: बेस ब्रांच के सापेक्ष सभी परिवर्तन, जिनमें कमिट किए गए और बिना कमिट किए गए परिवर्तन शामिल हैं। अधिक लक्षित प्रतिक्रिया के लिए, इसे केवल बिना कमिट किए गए परिवर्तनों की समीक्षा करने के लिए कहें।

किस ब्रांच से तुलना होती है: /review-bugbot आपकी डिफ़ॉल्ट बेस ब्रांच से तुलना करता है। अगर आपकी बेस ब्रांच डिफ़ॉल्ट नहीं है (जैसे main), तो एजेंट को बताएं कि किस ब्रांच से तुलना करनी है या उसे संदर्भ से अनुमान लगाने दें।

अपनी पुल रिक्वेस्ट के साथ सिंक करें

/review-bugbot की समीक्षाएँ आपके कनेक्ट किए गए SCM (GitHub, GitLab या Bitbucket) पर Bugbot के साथ सिंक रहती हैं।

अंदरूनी तौर पर, /review-bugbot समीक्षा किए गए diff की patch ID स्टोर करता है। जब आपके SCM पर Bugbot को उसी patch ID वाला diff मिलता है, तो वह समीक्षा छोड़ देता है और टिप्पणी करके बताता है कि वह उस diff की समीक्षा पहले ही कर चुका है।

सामान्य उपयोग का एक तरीका: /review-bugbot चलाएँ, फिर उसी diff के साथ पुल रिक्वेस्ट खोलें। Bugbot समीक्षा को पहचान लेगा और रिमोट PR समीक्षा छोड़ देगा।

ऑटोफिक्स

Bugbot ऑटोफिक्स PR समीक्षाओं के दौरान मिले बग ठीक करने के लिए स्वचालित रूप से एक क्लाउड एजेंट शुरू करता है।

यह कैसे काम करता है

जब Bugbot को PR समीक्षा के दौरान बग मिलते हैं, तो वह स्वचालित रूप से:

  1. रिपोर्ट की गई समस्याओं का विश्लेषण करने और उन्हें ठीक करने के लिए एक क्लाउड एजेंट शुरू कर सकता है
  2. मौजूदा या नई ब्रांच में फ़िक्स पुश कर सकता है (आपकी सेटिंग्स के अनुसार)
  3. परिणामों के साथ मूल PR पर टिप्पणी पोस्ट कर सकता है

कॉन्फ़िगरेशन

Bugbot स्वचालन में ऑटोफिक्स के व्यवहार को कॉन्फ़िगर करें।

आवश्यकताएँ

ऑटोफिक्स के लिए:

  • मांग-आधारित उपयोग मूल्य निर्धारण सक्षम होना चाहिए
  • स्टोरेज सक्षम होना चाहिए (लीगेसी गोपनीयता मोड में नहीं)

बिलिंग

ऑटोफिक्स क्लाउड एजेंट क्रेडिट्स का उपयोग करता है और आपके प्लान की दरों के अनुसार बिल किया जाता है। क्लाउड एजेंट की बिलिंग आपके मौजूदा मूल्य निर्धारण प्लान के अनुसार होती है।

MCP सहायता

Bugbot आपके MCP सर्वर के साथ एकीकृत है, जिससे आपके AI उपकरण सीधे Bugbot के साथ इंटरैक्ट कर सकते हैं। Bugbot की समीक्षा प्रक्रिया को मार्गदर्शन देने के लिए अतिरिक्त उपकरण उपलब्ध कराने हेतु MCP सर्वर का उपयोग करें।

शुरू करने के लिए:

  1. MCP सर्वर सेटअप के निर्देशों के लिए MCP प्रलेखन देखें।
  2. स्वचालन में Bugbot में उपकरण जोड़ें।

एडमिन कॉन्फ़िगरेशन API

टीम व्यवस्थापक रिपॉज़िटरी प्रबंधित करने और यह नियंत्रित करने के लिए कि कौन-से उपयोगकर्ता Bugbot का उपयोग कर सकते हैं, Bugbot एडमिन API का उपयोग कर सकते हैं। इसका उपयोग रिपॉज़िटरी प्रबंधन को स्वचालित करने, कई रिपॉज़िटरीज़ में Bugbot को सक्षम करने या उपयोगकर्ता प्रावधान को आंतरिक उपकरणों के साथ एकीकृत करने के लिए करें।

प्रमाणीकरण

सभी एंडपॉइंट्स के लिए Bearer टोकन के रूप में टीम Admin API Key भेजना आवश्यक है:

Authorization: Bearer $API_KEY

API key बनाने के लिए:

  1. Cursor डैशबोर्ड में API कुंजियाँ पर जाएँ
  2. New API Key पर क्लिक करें
  3. API key सहेजें

सभी endpoints के लिए प्रति टीम प्रति मिनट 60 अनुरोधों की दर सीमा है।

रिपॉज़िटरी को सक्षम या अक्षम करना

किसी रिपॉज़िटरी के लिए Bugbot को चालू या बंद करने के लिए /bugbot/repo/update endpoint का उपयोग करें:

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  }'

पैरामीटर:

  • repoUrl (string, आवश्यक): रिपॉज़िटरी का पूरा URL
  • enabled (boolean, आवश्यक): Bugbot को सक्षम करने के लिए true, अक्षम करने के लिए false
  • manualTriggerOnly (boolean, वैकल्पिक): true होने पर, Bugbot इस रिपॉज़िटरी के PR अपडेट पर स्वचालित रूप से नहीं चलेगा। cursor review पर टिप्पणी करना या bugbot run जैसे मैन्युअल ट्रिगर्स फिर भी काम करेंगे।

रिपॉजिटरी की सूची

अपनी टीम की Bugbot सेटिंग्स सहित सभी रिपॉजिटरी की सूची पाने के लिए /bugbot/repos endpoint का उपयोग करें:

curl https://api.cursor.com/bugbot/repos \  -H "Authorization: Bearer $API_KEY"

प्रतिक्रिया में प्रत्येक रिपॉज़िटरी की सक्षम स्थिति, केवल मैन्युअल सेटिंग और टाइमस्टैंप शामिल हैं।

उपयोगकर्ता पहुंच प्रबंधित करना

यह नियंत्रित करने के लिए कि कौन-से GitHub, GitLab या Bitbucket उपयोगकर्ता आपकी टीम के Bugbot लाइसेंसों का उपयोग कर सकते हैं, /bugbot/user/update endpoint का उपयोग करें। उद्यम, आंतरिक पहुंच-अनुरोध उपकरणों के साथ Bugbot प्रोविज़निंग को एकीकृत करने के लिए इसका उपयोग करते हैं।

पूर्वापेक्षाएँ

इस endpoint को कॉल करने से पहले, अपनी टीम Bugbot सेटिंग्स में अनुमति सूची या ब्लॉकलिस्ट मोड सक्षम करें:

  • अनुमति सूची मोड ("केवल..."): केवल सूची में शामिल उपयोगकर्ता ही Bugbot का उपयोग कर सकते हैं
  • ब्लॉकलिस्ट मोड ("सभी, सिवाय..."): सूची में शामिल उपयोगकर्ताओं को छोड़कर सभी उपयोगकर्ता Bugbot का उपयोग कर सकते हैं

अगर कोई भी मोड सक्षम नहीं है, तो API त्रुटि लौटाता है।

उपयोगकर्ता जोड़ना या हटाना

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  }'

पैरामीटर:

  • username (string, आवश्यक): GitHub, GitLab या Bitbucket उपयोगकर्ता नाम (केस-संवेदी नहीं)
  • allow (boolean, आवश्यक): पहुंच प्रदान करनी है या रद्द करनी है

allow का व्यवहार सक्रिय मोड पर निर्भर करता है:

मोडallow: trueallow: false
Allowlistउपयोगकर्ता को सूची में जोड़ता है (Bugbot का उपयोग कर सकता है)उपयोगकर्ता को सूची से हटाता है (Bugbot का उपयोग नहीं कर सकता)
ब्लॉकलिस्टउपयोगकर्ता को ब्लॉकलिस्ट से हटाता है (Bugbot का उपयोग कर सकता है)उपयोगकर्ता को ब्लॉकलिस्ट में जोड़ता है (Bugbot का उपयोग नहीं कर सकता)

प्रतिक्रिया:

{  "outcome": "success",  "message": "Updated team-level allowlist for @octocat",  "updatedTeamSettings": true,  "updatedInstallations": 0}

उदाहरण: आंतरिक टूल के ज़रिए उपयोगकर्ताओं की प्रोविज़निंग

इस API को आंतरिक पहुंच-अनुरोध पोर्टल से कनेक्ट करें। जब कोई कर्मचारी Bugbot की पहुंच का अनुरोध करता है, तो पोर्टल उसे जोड़ने के लिए API को कॉल करता है। कंपनी छोड़ने या पहुंच खोने पर, पोर्टल उन्हें हटाने के लिए API को कॉल करता है।

पहुंच प्रदान करें:

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}'

पहुंच निरस्त करें:

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}'

मूल्य निर्धारण

Bugbot में उपयोग-आधारित बिलिंग लागू होती है।

बिलिंग

समस्या निवारण

अगर Bugbot काम नहीं कर रहा है:

  1. विस्तृत लॉग्स, लोड किए गए Bugbot नियम और अनुरोध ID देखने के लिए cursor review verbose=true या bugbot run verbose=true टिप्पणी करके विस्तृत मोड सक्षम करें
  2. यह सत्यापित करने के लिए अनुमतियाँ जाँचें कि Bugbot के पास रिपॉजिटरी तक पहुँच है
  3. यह पुष्टि करने के लिए स्थापना सत्यापित करें कि आपके रिपॉजिटरी प्रदाता का इंटीग्रेशन इंस्टॉल और सक्षम है

समस्याओं की रिपोर्ट करते समय विस्तृत मोड से अनुरोध ID शामिल करें।

अक्सर पूछे जाने वाले सवाल

हाँ। Bugbot जुड़े हुए प्रदाताओं से पुल रिक्वेस्ट की शीर्ष-स्तर और इनलाइन, दोनों तरह की टिप्पणियाँ पढ़ता है और समीक्षाओं के दौरान उन्हें संदर्भ के रूप में शामिल करता है। इससे डुप्लिकेट सुझावों से बचने में मदद मिलती है और Bugbot समीक्षकों की पिछली प्रतिक्रिया के आधार पर आगे काम कर सकता है।

पुल रिक्वेस्ट पर bugbot run verbose=true या cursor review verbose=true टिप्पणी करें। Bugbot उस रन में शामिल हर नियम की तालिका पोस्ट करता है और काट-छाँट किए गए या छोड़े गए नियमों को चिह्नित करता है। कोई नियम गायब हो या कट गया हो, तो नियम सीमाएँ देखें।

हाँ। Bugbot Cursor के समान गोपनीयता अनुपालन का पालन करता है और अन्य Cursor अनुरोधों की तरह ही डेटा संसाधित करता है।

शामिल Bugbot उपयोग पूरा होने पर, अतिरिक्त Bugbot समीक्षाओं का शुल्क ऑन-डिमांड खर्च से लिया जाता है।

संबंधित इंटीग्रेशन पृष्ठों पर सेटअप और नेटवर्किंग मार्गदर्शिकाएँ देखें: