Azure DevOps
Azure DevOps entegrasyonu, Azure DevOps Services depolarını Cloud Agents ve Bugbot ile bağlar.
Azure DevOps entegrasyonu herkese açık beta aşamasındadır. dev.azure.com üzerindeki Azure DevOps Services'i destekler. Azure DevOps Server desteklenmez.
Desteklenen özellikler
Cloud Agents kodunuzu klonlar, dallarda çalışır ve pull request'ler açar. Bugbot pull request'leri inceler ve bulgularını yorum olarak paylaşır.
Aşağıdaki özellikler henüz Azure DevOps'u desteklemiyor:
- Otomasyonlar
- Bugbot Autofix
- Güvenlik İnceleyicisi ve Güvenlik Açığı Tarayıcısı dahil Güvenlik Ajanları
Bu özellikler şu anda GitHub ile çalışır. Azure DevOps desteği yol haritasında yer alıyor.
Kurulum
Cursor ile kullanmak istediğiniz Azure DevOps kuruluşlarına ve depolarına erişim gerekir.
- Kontrol panelindeki Entegrasyonlar sayfasına gidin
- Azure DevOps'un yanındaki Bağlan seçeneğine tıklayın
- Azure DevOps için kullandığınız Microsoft hesabıyla oturum açın
- Microsoft Entra OAuth izin ekranını inceleyin ve erişime onay verin
- Cursor'a dönün ve Azure DevOps kuruluşlarınızdaki depoları seçin
- Cursor'un kullanmasını istediğiniz depolarda Cloud Agents'ı yapılandırın
Azure DevOps hesabınızın bağlantısını kesmek için entegrasyonlar kontrol paneline dönün ve Hesabın Bağlantısını Kes seçeneğine tıklayın.
Bugbot'u kurma
Azure DevOps'ta Bugbot sınırlı erişime açıktır. Kurulum için bir Microsoft Entra ID yöneticisinin kiracı adına yönetici onayı vermesi gerekir. Bu adımda size yol gösteririz. Başlamak için bizimle iletişime geçin.
Bugbot, Azure DevOps pull request'lerini Cursor'ın kiracınızda oluşturduğu bir Microsoft Entra hizmet principal'ı aracılığıyla inceler. Bu hizmet principal'ı, Bugbot'un dinlediği hizmet hook'larını kurar, pull request diff'lerini okur, inceleme yorumlarını ve derleme durumlarını gönderir. Kurulum her Azure DevOps kuruluşu için yalnızca bir kez yapılır.
Azure DevOps'taki Bugbot ekip repolarında çalışır. Kişisel kapsamdaki repolar desteklenmez.
Microsoft Entra yönetici onayı verin
Global Administrator, Application Administrator veya Cloud Application Administrator rolüne sahip bir Microsoft Entra ID yöneticisi gereklidir. Onay, kiracının tamamı için geçerlidir; bu nedenle yalnızca bir depo yöneticisi bu işlemi tamamlayamaz.
- Azure DevOps kuruluşunda yönetici olarak oturum açmışken kontrol panelindeki Entegrasyonlar üzerinden Azure DevOps'a bağlanın
- Entra yöneticinizden, kiracınızdaki Cursor uygulaması için yönetici onayı vermesini isteyin
- Onay verildiğinde Cursor'daki iletişim kişinize bildirin
Cursor, standart oturum açma kapsamlarına ek olarak Azure DevOps API'sine erişim ister. Microsoft Graph verilerine erişim istemez. Kiracınız hizmet sorumlusunu tutar; bunu istediğiniz zaman Entra'da iptal edebilirsiniz.
Kişisel Microsoft hesabıyla desteklenen Azure DevOps kuruluşları hizmet sorumlusunu barındıramaz. Önce kuruluşu Microsoft Entra ID'ye bağlayın.
Hizmet principal'ına kuruluşunuza erişim izni verin
Onaydan sonra Cursor, hizmet principal'ını Azure DevOps kuruluşunuza ekler ve onun için Basic erişim düzeyi talep eder. Her iki işlem de Azure DevOps'u bağlayan yönetici hesabı kullanılarak otomatik olarak gerçekleştirilir. Hizmet principal'ı daha sonra Organization settings → Users altında görünür.
Bunu üç durum engelleyebilir:
- Bağlı hesap kuruluşa kullanıcı ekleyemiyor. Azure DevOps'u kuruluş yöneticisi olarak yeniden bağlayın.
- Kullanılabilir Basic erişim düzeyi yok. Bir Basic koltuğunu boşaltın veya Organization settings → Users altında hizmet principal'ına bir tane atayın.
- Hizmet principal'ı depoyu okuyamıyor. Project settings → Repositories → Security altında bu depo için ona Read izni verin.
Depolarda Bugbot'u etkinleştirin
- Otomasyonlar'da Bugbot'u açın
- Kurulum listesinde Azure DevOps depolarınızı bulun
- İncelenmesini istediğiniz her depo için Bugbot'u etkinleştirin
Bugbot, bir depo için etkinleştirildiğinde hizmet hook'larını kurar, devre dışı bırakıldığında ise kaldırır. Bir depo için Bugbot'u devre dışı bırakmak veya Azure DevOps bağlantısını kesmek, o depodaki incelemeleri hemen durdurur.
İncelemeler nasıl tetiklenir
Bugbot, her pull request açıldığında ve güncellendiğinde inceleme yapar. Ayrıca cursor review veya bugbot run yorumu yaparak isteğe bağlı inceleme talep edilebilir.
Yorumla tetiklenen incelemelerde bir Azure DevOps kısıtlaması vardır. Bu incelemeler, Azure DevOps oturum açma adresi depoya sahip ekibin Cursor hesabıyla eşleşen kişiler için çalışır. Diğer kişilerin yorumları yanıt verilmeden yoksayılır. Otomatik incelemelerde böyle bir kısıtlama yoktur ve tüm yazarları kapsar.
İncelenecek yazarları filtreleme
Bugbot varsayılan olarak her yazarın PR'lerini inceler. Bunu sınırlamak için deponun Bugbot ayarlarında Run for All Authors seçeneğini kapatın, ardından Only Review PRs by... veya Skip PRs by... seçeneğini belirleyin.
Bu liste kullanıcı adlarını değil, Azure DevOps oturum açma adreslerini kabul eder; alan da bu şekilde etiketlenmiştir. Oturum açma adresi taylor@contoso.com gibi görünür ve kuruluş yöneticinizin Organization settings → Users altında gördüğü değerdir. Kullanıcı adları hiç kimseyle eşleşmez; bu nedenle Bugbot o yazarın PR'lerini incelemez.
Diğer sağlayıcılardan farkları
Depo ayarları ve depo kuralları Azure DevOps'ta çalışır. Aşağıdakiler çalışmaz:
- Yeni Depolar için Otomatik Etkinleştirme. Bugbot'u her yeni depo için kendiniz etkinleştirin.
- Kuralları Otomatik Öğrenme. Elle yazdığınız depo kuralları yine de uygulanır.
- Kişisel Bugbot ayarları. Bunun yerine depo ayarları herkes için geçerlidir.
- Autofix. Bugbot, düzeltme commit'leri açmadan bulgularını bildirir.
Derleme durumları ve dal ilkeleri
Bugbot, incelenen her pull request için cursor-bugbot/review bağlamında bir derleme durumu bildirir. Her sonucun ne anlama geldiğini öğrenmek için CI denetim durumları bölümüne bakın.
Bu bağlamı zorunlu durum dal ilkesi olarak ayarlarsanız, ilkenin Sıfırlama koşulları ayarını Yeni değişiklik olduğunda durumu sıfırla olarak belirleyin. Aksi hâlde, önceki bir push'tan gelen durum, yeni commit'ler eklendikten sonra da ilkeyi karşılamaya devam eder.
Depo URL'leri
Cursor, aşağıdaki biçimdeki Azure DevOps Services depo URL'lerini destekler:
https://dev.azure.com/{organization}/{project}/_git/{repository}Azure DevOps, kuruluş, proje ve depo hiyerarşisini kullanır. Cursor, depoları Azure DevOps kuruluşu altında {project}/{repository} biçiminde gösterir.
Kuruluşunuz hâlâ *.visualstudio.com URL'sini kullanıyorsa Azure DevOps'ta depoyu açın ve Cursor'a eklemeden önce dev.azure.com URL'sini kopyalayın.
İzinler
Cursor, Microsoft Entra OAuth aracılığıyla Azure DevOps'a bağlanır. Bu bağlantı Cursor'ın şunları yapmasına olanak tanır:
| Erişim | Amaç |
|---|---|
| Kuruluşlar ve projeler | Erişebildiğiniz Azure DevOps kuruluşlarını, projelerini ve depolarını listelemek |
| Kod depoları | Depoları klonlamak ve çalışma dalları oluşturmak |
| Pull request'ler | Cloud Agents tarafından oluşturulan pull request'leri açmak, güncellemek ve merge etmek |
Bugbot ikinci bir kimlik ekler. Cursor, kiracınızda bir Microsoft Entra hizmet sorumlusu oluşturur ve bunu her Bugbot işlemi için kullanır; böylece entegrasyonu kuran kişi rol değiştirdiğinde veya ayrıldığında incelemeler çalışmaya devam eder.
| İşlem | Azure DevOps kimliği |
|---|---|
| Bugbot inceleme yorumları, satır içi yorumlar ve derleme durumları | Cursor hizmet sorumlusu |
| Bugbot hizmet hook'unun kurulumu ve kaldırılması | Cursor hizmet sorumlusu |
| Cloud Agents tarafından Git clone, dal push, commit ve pull request oluşturma | Bağlı Azure DevOps kullanıcısı |
Sorun Giderme
- Deponun Azure DevOps Services'te,
dev.azure.comüzerinde barındırıldığını doğrulayın. - Bağladığınız Microsoft hesabının kuruluş, proje ve depoya erişimi olduğunu doğrulayın.
- Microsoft hesabı erişiminiz değiştiyse entegrasyonlar kontrol panelinden Azure DevOps'u yeniden bağlayın.
- Seçili Azure DevOps deposunun Cursor'a bağlı olduğunu doğrulayın.
- Azure DevOps hesabınızın hedef depoda dal ve pull request oluşturabildiğini kontrol edin.
- Hedef dal pull request oluşturulmasını veya güncellemeleri engelliyorsa dal ilkelerini kontrol edin.
Azure DevOps'taki dev.azure.com depo URL'sini kullanın. Cursor, bu entegrasyon için Azure DevOps Server URL'lerini kabul etmez.
- Deponun Bugbot in Automations bölümünde etkinleştirildiğini doğrulayın.
- Deponun bir Cursor ekibine ait olduğunu doğrulayın. Azure DevOps'taki Bugbot, kişisel kapsamdaki depoları incelemez.
- Cursor hizmet principal'ının depoyu Proje ayarları → Depolar → Güvenlik altında okuyabildiğini doğrulayın.
- Yazarları filtreliyorsanız, pull request yazarının kullanıcı adı yerine Azure DevOps oturum açma adresiyle listelendiğini doğrulayın.
Yorum tetikleyicisi yalnızca Azure DevOps oturum açma adresiniz, depoya sahip ekibin bir Cursor hesabıyla eşleşiyorsa çalışır. Aynı kişiye ait iki adres burada yine de iki farklı kişi sayılır.
Azure DevOps profilinizdeki oturum açma adresini Cursor hesabınızdaki e-postayla karşılaştırın; eksikse bir ekip yöneticisinden bu adresi davet etmesini isteyin. Otomatik incelemeler her durumda çalışmaya devam eder.
Kişisel Bugbot ayarları henüz Azure DevOps depolarına uygulanmaz. Depo ayarları uygulanır. İstediğiniz davranışı Bugbot in Automations bölümünde depo düzeyinde ayarlayın.
cursor-bugbot/review durumu için dal ilkesini açın ve Sıfırlama koşulları ayarını Yeni değişiklik olduğunda durumu sıfırla olarak belirleyin. Aksi takdirde Azure DevOps önceki durumu korur; bu nedenle ilke, Bugbot'un incelemediği commit'lerde de geçer.
Sonraki adımlar
Azure DevOps entegrasyonunuz bağlandıktan sonra, bu entegrasyonu kullanan özellikleri yapılandırın:
- Bugbot - hataları ve güvenlik açıklarını yakalayan otomatik PR incelemeleri
- Cloud Agents - depolarınızda bulutta çalışan yapay zekâ ajanları
- Cloud Agent setup - kaydedilmiş ortamlar, çoklu depo kurulumu, gizli bilgiler ve Dockerfile'lar