《Cursor文檔》-Azure DevOps

Azure DevOps 集成可將 Azure DevOps Services 倉庫連接到雲端代理Bugbot

Azure DevOps 集成目前爲公開 beta 版。它支持 dev.azure.com 上的 Azure DevOps Services,不支持 Azure DevOps Server。

支持的功能

雲端代理 可以克隆您的代碼、在分支上工作並創建 PR。Bugbot 會評審 PR,並將其發現作爲評論發佈。

以下功能暫不支持 Azure DevOps:

這些功能目前支持 GitHub。Azure DevOps 支持已列入路線圖。

設置

需要有權訪問要與 Cursor 配合使用的 Azure DevOps 組織和倉庫。

  1. 前往儀表盤中的集成
  2. 點擊 Azure DevOps 旁的 連接
  3. 使用用於 Azure DevOps 的 Microsoft 賬戶登錄
  4. 查看 Microsoft Entra OAuth 同意頁面並批准訪問
  5. 返回 Cursor,從 Azure DevOps 組織中選擇倉庫
  6. 爲希望供 Cursor 使用的倉庫配置雲端代理

若要斷開 Azure DevOps 賬戶,請返回集成儀表盤並點擊 斷開賬戶連接

設置 Bugbot

Azure DevOps 上的 Bugbot 目前僅限部分用戶使用。設置時需要由 Microsoft Entra ID 管理員授予租戶管理員同意,我們會引導您完成此步驟。請聯繫我們以快速入門。

Bugbot 會使用 Cursor 在您的租戶中預配的 Microsoft Entra 服務主體評審 Azure DevOps PR。該服務主體會安裝 Bugbot 監聽的服務鉤子、讀取 PR diff,併發布評審評論和構建狀態。每個 Azure DevOps 組織只需按以下順序設置一次:

  1. 項目集合管理員儀表盤中的集成連接 Azure DevOps,並在自動化中的 Bugbot中爲代碼倉庫啓用 Bugbot。此操作會發現您組織的 Entra 租戶,並自動預配 Cursor 服務主體。預配需要一次性的Microsoft Entra 管理員同意
  2. 項目管理員將 Cursor 服務主體添加到每個您希望進行評審的項目項目管理員組。Bugbot 需要項目管理權限來管理其服務鉤子。
  3. Azure DevOps 應用權限更改會延遲幾分鐘。權限更改後立即失敗的開關,幾分鐘後無需更改即可成功。

如果缺少某個步驟,代碼倉庫開關會失敗,並顯示指出缺失步驟的錯誤。修復後,再次啓用該代碼倉庫。

Azure DevOps 上的 Bugbot 適用於團隊代碼倉庫,不支持個人範圍的代碼倉庫。

授予 Microsoft Entra 管理員同意

在 Cursor 的服務主體可在你的目錄中創建之前,Microsoft Entra ID 管理員必須一次性授予租戶範圍的管理員同意。授予同意需要全局管理員、應用管理員或雲應用管理員角色。該同意適用於整個租戶,因此僅有代碼倉庫管理員權限無法完成此操作。

啓用時出現的錯誤會提示缺少同意。你也可以自行構建同意鏈接:

https://login.microsoftonline.com/{your-tenant-id}/v2.0/adminconsent?client_id=29df4809-337a-4255-bd57-d4a1476b0e65&redirect_uri=https://cursor.com/azure-devops-connected&scope=499b84ac-1321-427f-aa17-267ca6975798/.default%20offline_access%20openid%20profile

{your-tenant-id} 替換爲你在 Microsoft Entra 管理中心中的租戶 ID。client_id 是 Cursor 的應用 ID。scope 包含 Azure DevOps API (499b84ac-1321-427f-aa17-267ca6975798 是 Microsoft 爲其分配的標識符) 以及標準登錄範圍。Cursor 不會請求任何 Microsoft Graph 數據。服務主體保留在你的租戶中,你可隨時在 Entra 中將其撤銷。

管理員同意後,Microsoft 會將其重定向到 cursor.com/azure-devops-connected,頁面會確認授權。授權保留在你的租戶中,因此下次啓用代碼倉庫時即可完成設置。

之前的同意僅涵蓋 Cursor 當時請求的權限。如果 Cursor 在你的租戶同意後新增了某項權限,設置會在中途失敗,重新連接也無法解決。請再次打開同意鏈接以刷新授權。

使用個人 Microsoft 賬戶的 Azure DevOps 組織無法託管服務主體。請先將該組織連接到 Microsoft Entra ID。

授予服務主體訪問組織的權限

完成授權後,Cursor 會將服務主體添加到你的 Azure DevOps 組織,併爲其申請 Basic 訪問級別。這兩項操作都會通過連接 Azure DevOps 的管理員賬戶自動完成。隨後,服務主體會顯示在 組織設置用戶 中。

以下兩種情況可能會導致操作失敗:

  • 已連接的賬戶無權向組織添加用戶。 請使用組織管理員賬戶重新連接 Azure DevOps。
  • 沒有可用的 Basic 訪問級別。 釋放一個 Basic 席位,或在 組織設置用戶 中將一個 Basic 席位分配給服務主體。

將服務主體添加到項目中

Azure DevOps 通過服務鉤子將 PR 通知給 Bugbot,且只有項目管理員才能管理這些鉤子。請在每個需要評審的項目中,依次進入 項目設置權限,將 Cursor 服務主體添加到 項目管理員 羣組。僅有代碼倉庫讀取權限並不足夠。

權限更改可能需要幾分鐘才能生效,因此,授權後立即失敗的開關操作,幾分鐘後在不作任何更改的情況下可能會成功。

在倉庫中啓用 Bugbot

  1. 打開 自動化中的 Bugbot
  2. 在安裝列表中找到你的 Azure DevOps 倉庫
  3. 爲每個需要評審的倉庫啓用 Bugbot

啓用倉庫時,Bugbot 會安裝服務鉤子;關閉時則會移除這些鉤子。對某個倉庫關閉 Bugbot,或斷開 Azure DevOps 連接,都會立即停止該倉庫的評審。

如何觸發評審

Bugbot 會在每個 PR 創建和更新時進行評審。也可以通過評論 cursor reviewbugbot run 按需請求評審。

通過評論觸發評審有一項 Azure DevOps 限制:只有 Azure DevOps 登錄地址與擁有該代碼倉庫的團隊中某個 Cursor 賬戶相匹配的用戶,才能使用此方式。其他人的評論不會啓動評審。自動評審則不受此限制,涵蓋所有作者。

篩選要評審哪些作者

默認情況下,Bugbot 會評審所有作者。若要縮小範圍,請在代碼倉庫的 Bugbot 設置中關閉 Run for All Authors,然後選擇 Only Review PRs by…Skip PRs by…

該列表填寫的是 Azure DevOps 登錄地址,而非用戶名,字段標籤也是如此。登錄地址類似於 taylor@contoso.com,可由組織管理員在 組織設置Users 中查看。用戶名無法匹配任何人,因此 Bugbot 不會評審該作者的 PR。

與其他提供商的差異

代碼倉庫設置和代碼倉庫規則在 Azure DevOps 中可用。以下功能不可用:

  • 爲新代碼倉庫自動啓用。 請自行爲每個新代碼倉庫啓用 Bugbot。
  • 自動學習規則。 您手動編寫的代碼倉庫規則仍然適用。
  • 個人 Bugbot 設置。 代碼倉庫設置會改爲應用於所有人。
  • Autofix。 Bugbot 會報告發現的問題,但不會創建修復提交。

構建狀態和分支策略

Bugbot 會在每個已評審的 PR 上發佈構建狀態,上下文爲 cursor-bugbot/review。各結論的含義請參閱 CI 檢查狀態

如果將該上下文設爲必需狀態的分支策略,請將策略的重置條件設爲每當有新更改時重置狀態。否則,在新提交合入後,較早推送的狀態仍會滿足該策略。

從舊版 Bugbot 設置遷移

在 2026 年 8 月之前爲 Azure DevOps 啓用 Bugbot 的組織採用的是舊版的按代碼倉庫設置。仍在使用該設置的代碼倉庫啓用時會顯示“此 Azure DevOps 代碼倉庫仍在使用舊版 Bugbot 設置。”

遷移會自動完成。以組織管理員身份連接 Azure DevOps,然後在 自動化中的 Bugbot 中再次啓用該代碼倉庫。Cursor 會移除舊版服務鉤子,並一步完成新設置。

如果 Cursor 報告無法移除舊版設置,請手動移除:

  1. 在 Azure DevOps 中,打開 項目設置服務鉤子
  2. 刪除發送到 https://api2.cursor.sh/azure_devops_webhook 的 Cursor Web Hooks 訂閱
  3. 自動化中的 Bugbot 中再次啓用該代碼倉庫

遷移後,新設置的前提條件將開始適用。你的租戶需要一次性授予 Microsoft Entra 管理員同意,且服務主體需要你所在組織的 Basic 訪問級別以及加入每個項目的 Project Administrators 羣組

代碼倉庫 URL

Cursor 支持以下格式的 Azure DevOps Services 倉庫 URL:

https://dev.azure.com/{organization}/{project}/_git/{repository}

Azure DevOps 採用組織、項目和倉庫的層級結構。Cursor 會在 Azure DevOps 組織下以 {project}/{repository} 的格式顯示倉庫。

如果你的組織仍在使用 *.visualstudio.com URL,請先在 Azure DevOps 中打開倉庫並複製其 dev.azure.com URL,然後再將其添加到 Cursor。

權限

Cursor 通過 Microsoft Entra OAuth 連接 Azure DevOps。連接後,Cursor 可以:

訪問權限 用途
組織和項目 列出您有權訪問的 Azure DevOps 組織、項目和倉庫
代碼倉庫 克隆倉庫並創建工作分支
PR 打開、更新和合並由雲端代理創建的 PR

Bugbot 會添加第二個身份。Cursor 會在您的租戶中預配 Microsoft Entra 服務主體,並將其用於所有 Bugbot 操作。因此,即使配置集成的人員更換角色或離職,評審仍會繼續運行。

操作 Azure DevOps 身份
Bugbot 評審評論、行內評論和構建狀態 Cursor 服務主體
Bugbot 服務鉤子的安裝和移除 Cursor 服務主體
雲端代理執行的 Git 克隆、分支推送、提交和 PR 創建 已連接的 Azure DevOps 用戶

疑難排查

看不到 Azure DevOps 代碼倉庫

  • 確認代碼倉庫託管在 dev.azure.com 的 Azure DevOps Services 上。
  • 確認所連接的 Microsoft 賬戶有權訪問該組織、項目和代碼倉庫。
  • 如果 Microsoft 賬戶的訪問權限發生變更,請在集成儀表盤中重新連接 Azure DevOps。

雲端代理無法創建 PR

  • 確認所選的 Azure DevOps 代碼倉庫已連接到 Cursor。
  • 檢查您的 Azure DevOps 賬戶是否有權在目標代碼倉庫中創建分支和 PR。
  • 如果目標分支的策略阻止創建或更新 PR,請檢查分支策略。

代碼倉庫 URL 被拒絕

請使用 Azure DevOps 中的 dev.azure.com 代碼倉庫 URL。此集成不支持 Azure DevOps Server URL。

Bugbot 未評審我的 PR

  • 確認該代碼倉庫已在 自動化中的 Bugbot 中啓用。
  • 確認該代碼倉庫屬於某個 Cursor 團隊。Azure DevOps 上的 Bugbot 不會評審個人範圍的代碼倉庫。
  • 確認 Cursor 服務主體屬於該項目 項目設置權限 下的 項目管理員 羣組。
  • 如果您按作者篩選,請確認 PR 作者是按 Azure DevOps 登錄地址而非用戶名列出的。

在 PR 中評論未觸發評審

只有當您的 Azure DevOps 登錄地址與擁有該代碼倉庫的團隊中 Cursor 賬戶的地址一致時,評論觸發器纔會生效。即使兩個地址屬於同一人,在這裏仍視爲兩個人。

請覈對 Azure DevOps 配置文件中的登錄地址與 Cursor 賬戶中的電子郵件地址;如果該地址未關聯 Cursor 賬戶,請讓團隊管理員邀請該地址。無論是否匹配,自動評審都會繼續運行。

Bugbot 忽略我的個人設置

個人 Bugbot 設置暫不適用於 Azure DevOps 代碼倉庫,但代碼倉庫設置適用。請在 自動化中的 Bugbot 中按代碼倉庫設置所需行爲。

新推送後,必需的 Bugbot 狀態仍顯示爲綠色

打開 cursor-bugbot/review 狀態的分支策略,並將 Reset conditions 設置爲 Reset status whenever there are new changes。否則,Azure DevOps 會保留之前的狀態,導致策略在 Bugbot 尚未評審的提交上仍會通過。

後續步驟

連接 Azure DevOps 集成後,請配置使用該集成的功能:

  • Bugbot - 自動化 PR 審查,可捕獲缺陷和安全問題

  • 雲端代理 - 在雲端對您的倉庫運行的 AI 智能體

  • 雲端代理設置 - 已保存的環境、多倉庫設置、機密信息和 Dockerfile
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜