[Go to site: main page, start]

Skip to main content

Command Palette

Search for a command to run...

클라우드 에이전트

Bugbot

Bugbot은 pull request를 검토하고 버그, 보안 문제, 코드 품질 문제를 식별합니다.

Automations에서 Bugbot을 설정하세요.

동작 방식

Bugbot은 PR diff를 분석하고 설명과 수정 제안이 포함된 댓글을 남깁니다. 각 PR 업데이트 시 자동으로 실행되거나 수동으로 실행할 수 있습니다.

  • 모든 PR 업데이트에서 자동 리뷰 실행
  • 모든 PR에서 cursor review 또는 bugbot run 댓글로 수동 실행
  • 기존 PR 댓글을 컨텍스트로 사용: 연결된 PR 댓글(최상위 및 인라인)을 읽어 중복 제안을 피하고 이전 피드백을 반영
  • Fix in Cursor 링크로 이슈를 Cursor에서 직접 열기
  • Fix in Web 링크로 이슈를 cursor.com/agents에서 직접 열기

설정

Cursor 대시보드에서 저장소를 연결하고 Bugbot을 사용해 보세요.

연결한 후 Automations에서 Bugbot을 열어 특정 저장소에서 활성화하세요.

CI 검사 상태

Bugbot은 각 리뷰 실행에 대한 상태를 게시합니다. GitHub에서는 Cursor Bugbot이라는 검사로 표시됩니다. Bitbucket에서는 cursor-bugbot 키를 사용하는 빌드 상태로 표시됩니다. Azure DevOps에서는 cursor-bugbot/review 컨텍스트를 사용하는 상태로 표시됩니다. 상태에는 다음과 같은 결론이 사용됩니다.

  • success: Bugbot이 문제를 발견하지 않았고, 이전 실행에서 해결되지 않은 Bugbot 댓글도 없습니다.
  • neutral: Bugbot이 문제를 발견했거나, 새 커밋으로 인해 실행이 취소되었거나, Bugbot에서 내부 오류가 발생했습니다. Bugbot이 발견 사항을 보고할 때 기본으로 사용되는 결론입니다.
  • failure: Bugbot이 문제를 발견했고, 해결되지 않은 문제가 있으면 실패하도록 검사가 구성되어 있습니다.

브랜치 보호를 사용하는 경우, 머지 전에 Bugbot이 실행되도록 Bugbot 검사 또는 빌드 상태를 필수로 지정하세요. 발견 사항은 기본적으로 neutral이므로 상태만 필수로 지정해도 발견 사항이 있을 때 머지가 차단되지는 않습니다. 조직에서 해결되지 않은 문제 시 실패 동작을 사용할 수 있다면, 이를 활성화하여 해결되지 않은 발견 사항이 실패 상태를 생성하도록 하세요. Bugbot은 skipped 결론을 내보내지 않습니다.

Bugbot Autofix가 활성화되면 GitHub에 별도의 Cursor Bugbot Autofix 검사가 표시될 수도 있습니다. 이 검사는 success 또는 neutral만 사용합니다.

구성

분석

Automations의 Bugbot을 열어 리뷰 활동과 결과를 확인하세요.

API

엔터프라이즈 팀은 Bugbot API를 사용해 리뷰를 실행하고 리뷰별 분석 데이터를 조회할 수 있습니다. Cursor Dashboard → API Keys에서 API 키를 생성하고 Basic Authentication으로 인증하세요.

리뷰 실행

POST/bugbot/review

풀 리퀘스트 또는 머지 리퀘스트에 대해 Bugbot 리뷰를 대기열에 추가합니다. 요청은 리뷰가 대기열에 추가되면 완료되며, 리뷰는 비동기로 실행됩니다.

admin:* 범위의 API 키가 필요합니다. 이 엔드포인트는 팀당 분당 30개 요청으로 제한됩니다.

리뷰 댓글, 인라인 댓글, 검사 또는 기타 SCM 부작용을 게시하지 않고 전체 분석 파이프라인을 실행하려면 dryRuntrue로 설정하세요. 드라이런 리뷰도 발견 사항을 저장하며 일반 리뷰와 동일하게 과금됩니다. GET /analytics/team/bugbot-reviews로 조회할 수 있습니다. 드라이런 요청에는 팀당 분당 10개 요청의 추가 제한이 적용됩니다.

요청 본문

prUrl 문자열(필수)

전체 GitHub 풀 리퀘스트 또는 GitLab 머지 리퀘스트 URL입니다.

dryRun 불리언(선택 사항)

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를 저장하세요.

Bugbot이 풀 리퀘스트를 리뷰할 수 없는 경우, 엔드포인트는 다음 사유와 함께 400 Bad Request를 반환합니다.

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

리뷰 분석

GET/analytics/team/bugbot-reviews

완료된 Bugbot 리뷰마다 검토된 커밋, 발견 사항 수, 청구 비용, 발견 사항별 해결 데이터를 포함한 항목 하나를 반환합니다.

게시된 리뷰와 드라이런 리뷰를 모두 포함합니다. 게시된 발견 사항은 comment_idresolution_status로 식별됩니다. SCM에 아무것도 게시되지 않으므로 드라이런 발견 사항은 대신 title, description, locations를 반환합니다.

read:* 범위를 가진 API 키가 필요합니다.

쿼리 파라미터

startDate string (선택 사항)

분석 범위의 시작일입니다. 기본값은 7일 전입니다. 날짜 형식을 참조하세요.

endDate string (선택 사항)

분석 범위의 종료일입니다. 기본값은 now입니다. 날짜 형식을 참조하세요.

repo string (선택 사항)

host/owner/repo 형식의 리포지토리 필터입니다. 프로토콜과 .git 접미사는 선택 사항입니다.

prNumber number (선택 사항)

풀 리퀘스트 또는 머지 리퀘스트 번호입니다.

page number (선택 사항)

페이지네이션용 페이지 번호입니다. 기본값: 1.

pageSize number (선택 사항)

페이지당 리뷰 수입니다. 기본값: 100, 최댓값: 250.

dryRun 불리언 (선택 사항)

드라이런(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_centsnull입니다. 드라이런 리뷰에서는 bugs[].title, bugs[].description, bugs[].locations에 발견 항목 내용이 포함됩니다. 드라이런 발견 항목은 SCM에 아무것도 게시되지 않기 때문에 comment_id: nullresolution_status: null입니다.

리뷰 요청 및 조회

  1. 풀 리퀘스트 URL과 함께 POST /bugbot/review를 호출합니다. SCM에 게시하지 않고 분석하려면 "dryRun": true를 전달합니다.
  2. 반환된 request_id를 저장합니다.
  3. repoprNumber로 필터링하여 GET /analytics/team/bugbot-reviews를 폴링합니다. 드라이런 리뷰를 요청한 경우 dryRun=true를 사용합니다.
  4. request_id가 요청 응답의 값과 일치하는 항목을 찾습니다.

리뷰가 대기열에 추가된 후 분석 데이터를 사용할 수 있게 되기까지 잠시 시간이 걸릴 수 있습니다.

증분 리뷰

기본적으로 Bugbot은 푸시할 때마다 전체 풀 리퀘스트 diff를 리뷰합니다. 이전 Bugbot 리뷰 이후의 변경 사항만 리뷰하려면 Bugbot Automations에서 Incremental Review를 활성화하세요.

작업 수준

작업 수준은 Bugbot이 리뷰 중 추론에 들이는 시간을 조절합니다. 작업 수준이 높을수록 더 많은 버그를 찾을 수 있지만, 각 리뷰에 더 오래 걸리고 사용량도 더 많이 소모될 수 있습니다.

다음 작업 수준 중에서 선택하세요:

  • 기본값: 효율성과 속도에 최적화됩니다. 리뷰 비용은 더 적게 들지만, Bugbot이 찾는 버그 수가 줄어들 수 있습니다.
  • 높음: 추론에 더 많은 시간을 들입니다. 리뷰 비용이 더 많이 들고 시간도 더 오래 걸리지만, Bugbot이 더 많은 버그를 찾을 수 있습니다.
  • 사용자 정의: Bugbot이 더 길고 심층적인 리뷰를 사용해야 하는 경우를 지정할 수 있습니다. Cursor는 지시에 따라 작업 수준을 동적으로 설정합니다.

규칙

팀 규칙, 저장소 규칙, 프로젝트 .cursor/BUGBOT.md 파일을 사용해 리뷰를 안내하세요.

팀 규칙

팀 관리자는 Bugbot Automations에서 팀의 모든 저장소에 적용되는 규칙을 생성할 수 있습니다. 이 규칙은 활성화된 모든 저장소에서 사용할 수 있어 조직 전체의 표준을 쉽게 강제 적용할 수 있습니다.

규칙 제한

리뷰에 포함되는 각 규칙은 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 저장소 규칙에서 조직과 저장소의 학습 기능을 활성화하세요.

규칙은 해당 저장소에서 이루어진 팀의 GitHub 활동을 바탕으로 자동 생성되거나, 저장소 기록을 수동으로 반영하여 생성됩니다.

PR에 @cursor remember [fact] 댓글을 남겨 Bugbot에 새 규칙을 직접 가르칠 수도 있습니다. Bugbot은 해당 사실을 학습된 규칙으로 저장하고 향후 리뷰에 적용합니다.

Cursor는 시간이 지남에 따라 팀의 활동을 더 많이 학습하며 규칙을 자동으로 활성화하거나 비활성화합니다.

필드설명
이름규칙의 짧은 제목입니다.
규칙 내용Bugbot이 따라야 할 지시입니다(예: 스타일 게이트, 경로 또는 리뷰 기대 사항).
적용 경로src/components/**와 같은 선택적 glob 패턴입니다. 규칙을 전체 저장소에 적용하려면 비워 둡니다.

수동 규칙

Bugbot 저장소 규칙에서 개별 저장소용 수동 규칙을 만들 수 있습니다.

필드설명
이름규칙의 짧은 제목입니다.
규칙 내용Bugbot이 따라야 할 지시입니다(예: 스타일 게이트, 경로, 리뷰 기준).
적용 경로src/components/**와 같은 선택적 glob 패턴입니다. 비워 두면 규칙이 전체 저장소에 적용됩니다.

규칙 분석

Bugbot 규칙의 분석을 통해 실제 PR에서의 성과를 확인할 수 있습니다.

지표의미
발견된 이슈Bugbot이 이 규칙과 관련해 보고한 발견 사항의 수입니다.
검토한 PR해당 발견 사항이 발생한 풀 리퀘스트의 수입니다.
수락된 이슈팀에서 수락한 발견 사항의 수입니다.
수락률수락된 발견 사항의 비율입니다.

예시

변경된 파일에 문자열 패턴 /\beval\s*\(|\bexec\s*\(/i가 포함된 경우:- 제목이 "위험한 동적 실행"이고 본문이 다음과 같은 차단 Bug를 추가합니다.  "eval/exec 사용이 발견되었습니다. 안전한 대안으로 대체하거나, 자세한 주석과 테스트로 사용 이유를 설명하세요."- Bug를 PR 작성자에게 할당합니다.- "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 본문에 포함합니다.  - "compliance" 및 "security" 라벨을 적용합니다.

React 프로젝트에서 **/*.{js,jsx,ts,tsx}와 일치하는 파일의 경우:변경된 파일에 /componentWillMount\s*\(/가 포함된 경우:- 제목이 "더 이상 사용되지 않는 React 수명 주기 메서드"인 차단 Bug를 추가합니다.- 본문: "componentWillMount를 constructor 또는 useEffect로 대체하세요. React 문서를 참고하세요."- 부수 효과를 useEffect로 이전하는 자동 수정 스니펫을 제안합니다.

PR에서 {server/**, api/**, backend/**}의 파일을 수정하고 {**/*.test.*, **/__tests__/**, tests/**}에 변경 사항이 없는 경우:- 제목이 "백엔드 변경 사항에 대한 테스트 누락"인 차단 Bug를 추가합니다.- 본문: "이 PR은 백엔드 코드를 수정하지만 관련 테스트가 없습니다. 테스트를 추가하거나 업데이트하세요."- "quality" 라벨을 적용합니다.

변경된 파일에 /(?:^|\s)(TODO|FIXME)(?:\s*:|\s+)/가 포함된 경우:- 제목이 "TODO/FIXME 주석 발견"인 비차단 Bug를 추가합니다.- 본문: "TODO/FIXME를 추적 중인 이슈 참조(예: `TODO(#1234): ...`)로 대체하거나 삭제하세요."- TODO가 이미 /#\d+|[A-Z]+-\d+/ 이슈 패턴을 참조하는 경우, Bug를 자동으로 해결됨으로 표시합니다.

에이전트에서 실행

코드를 푸시하기 전에 /review-bugbot 또는 /review 스킬을 사용해 에이전트에서 Bugbot을 실행하세요.

검토되는 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 리뷰를 건너뜁니다.

Autofix

Bugbot Autofix는 PR 리뷰에서 발견된 버그를 수정하기 위해 Cloud Agent를 자동으로 생성합니다.

동작 방식

Bugbot은 PR 리뷰 중 버그를 발견하면 자동으로 다음 작업을 수행할 수 있습니다.

  1. 보고된 이슈를 분석하고 수정할 Cloud Agent 실행
  2. 설정에 따라 기존 브랜치 또는 새 브랜치에 수정 사항 푸시
  3. 결과를 원본 PR에 댓글로 게시

구성

Bugbot Automations에서 Autofix 동작을 설정합니다.

요구 사항

Autofix를 사용하려면 다음이 필요합니다.

  • 온디맨드 사용 요금이 활성화되어 있어야 함
  • 저장소가 활성화되어 있어야 함(레거시 프라이버시 모드에서는 불가)

결제

Autofix는 Cloud Agent 크레딧을 사용하며, 요금제에 따라 요금이 부과됩니다. Cloud Agent에는 기존 요금제가 적용됩니다.

MCP 지원

Bugbot은 MCP 서버와 통합되어 있어 AI 도구에서 Bugbot과 직접 상호작용할 수 있습니다. MCP 서버를 사용해 Bugbot의 리뷰 프로세스를 안내할 추가 도구를 제공하세요.

시작하기:

  1. MCP 문서의 MCP 서버 설정 지침을 따르세요.
  2. Automations의 Bugbot에 도구를 추가하세요.

관리자 구성 API

팀 관리자는 Bugbot Admin API를 사용하여 저장소를 관리하고 Bugbot을 사용할 수 있는 사용자를 제어할 수 있습니다. 이를 통해 저장소 관리를 자동화하고, 여러 저장소에서 Bugbot을 활성화하거나, 사용자 프로비저닝을 내부 도구와 통합할 수 있습니다.

인증

모든 엔드포인트는 팀 Admin API Key를 Bearer 토큰으로 전달해야 합니다:

Authorization: Bearer $API_KEY

API 키를 생성하려면:

  1. Cursor 대시보드의 API 키 페이지로 이동합니다
  2. New API Key를 클릭합니다
  3. API 키를 저장합니다

모든 엔드포인트의 요청은 팀당 분당 60회로 제한됩니다.

저장소 활성화 및 비활성화

/bugbot/repo/update 엔드포인트를 사용하여 저장소별로 Bugbot을 켜거나 끌 수 있습니다:

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, required): 리포지토리의 전체 URL
  • enabled (불리언, required): Bugbot을 활성화하려면 true, 비활성화하려면 false
  • manualTriggerOnly (불리언, optional): true이면 Bugbot은 이 리포지토리의 PR 업데이트 시 자동으로 실행되지 않습니다. cursor review 또는 bugbot run을 댓글로 작성하는 등의 수동 실행은 계속 작동합니다.

저장소 목록 조회

/bugbot/repos 엔드포인트를 사용하여 팀의 Bugbot 설정이 적용된 모든 저장소 목록을 조회합니다:

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

응답에는 각 저장소의 활성화 상태, 수동 전용 설정, 타임스탬프가 포함됩니다.

사용자 접근 관리

/bugbot/user/update 엔드포인트를 사용하여 팀의 Bugbot 라이선스를 사용할 수 있는 GitHub, GitLab 또는 Bitbucket 사용자를 관리합니다. 엔터프라이즈에서는 이를 통해 Bugbot 프로비저닝을 내부 접근 요청 도구와 연동할 수 있습니다.

사전 요구 사항

이 엔드포인트를 호출하기 전에 팀 Bugbot 설정에서 허용 목록 또는 차단 목록 모드를 활성화하세요.

  • 허용 목록 모드("Only..."): 목록에 있는 사용자만 Bugbot을 사용할 수 있습니다.
  • 차단 목록 모드("Everyone but..."): 목록에 있는 사용자를 제외한 모든 사용자가 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 (불리언, 필수): 접근 권한을 부여할지 또는 취소할지 여부

allow의 동작은 활성 모드에 따라 달라집니다.

모드allow: trueallow: false
허용 목록사용자를 목록에 추가(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를 포함하세요.

FAQ

예. Bugbot은 연결된 공급자의 최상위 및 인라인 풀 리퀘스트 댓글을 모두 읽어 리뷰 시 컨텍스트로 활용합니다. 이를 통해 중복 제안을 방지하고 리뷰어의 이전 피드백을 반영할 수 있습니다.

풀 리퀘스트에 bugbot run verbose=true 또는 cursor review verbose=true를 댓글로 작성하세요. Bugbot은 해당 실행에 포함된 모든 규칙을 표로 게시하고, 잘리거나 생략된 규칙을 표시합니다. 규칙이 누락되었거나 잘린 경우 규칙 제한을 참조하세요.

예. Bugbot은 Cursor와 동일한 개인정보 보호 규정을 준수하며, 다른 Cursor 요청과 동일한 방식으로 데이터를 처리합니다.

포함된 Bugbot 사용량을 모두 사용하면 추가 Bugbot 리뷰 비용이 온디맨드 지출에서 청구됩니다.

각 통합 페이지의 설정 및 네트워킹 가이드를 참조하세요: