Kod güvenliği uyarıları için Copilot Otomatik Düzeltme (Önizleme)

Copilot Otomatik Düzeltme, GitHub Advanced Security for Azure DevOps'taki kod tarama uyarıları ve bağımlılık tarama güvenlik açıkları için aracı destekli düzeltme sağlar. Desteklenen bir uyarı açın ve Düzeltme oluştur'u seçin. Copilot kodlama aracısı ilgili depo bağlamını inceleyebilir, önerilen değişiklikleri gözden geçirip iyileştirebilir ve önerilen bir düzeltmeyle bir pull request açabilir.

Normal pull request iş akışınız aracılığıyla değişikliği gözden geçirir, test eder ve birleştirirsiniz. Adımlar her iki uyarı türü için de aynıdır. Başlamak için ilgili uyarı listesini seçin ve ardından birleştirilmiş düzeltmeyi doğrulamak için ilgili tarayıcıyı kullanın.

Note

Bu özellik sınırlı genel önizleme aşamasındadır. Microsoft şu anda önizleme için ek kullanıcıları kabul etmemekte.

İşlevsellik bildirimde bulunmaksızın değiştirilebilir veya kaldırılabilir. Önizleme özelliklerinin Hizmet Düzeyi Sözleşmesi (SLA) ve sınırlı desteği yoktur.

Azure DevOps için GitHub Advanced Security, Azure Repos ile çalışır. GitHub Gelişmiş Güvenliği GitHub depolarla kullanmak için bkz. GitHub Advanced Security.

Prerequisites

Category Requirements
Permissions - Depoya yönelik tüm uyarıların özetini görüntülemek için: Katkıda Bulunan depo izinleri.
- Gelişmiş Güvenlik'te uyarıları kapatmak için: Project administrator izinleri.
- Gelişmiş Güvenlik izinlerini yönetmek için: Project Collection Administrators grubunun üyesi olun veya Gelişmiş Güvenlik: ayarları yönet iznini İzin Ver olarak ayarlayın.

Gelişmiş Güvenlik izinleri hakkında daha fazla bilgi için bkz. Gelişmiş Güvenlik izinlerini yönetme.

  • Kod tarama veya bağımlılık taraması yapılandırılmış ve deponuz için uyarılar üretiyor.
  • En az bir desteklenen uyarı.
  • Gelişmiş Güvenlik:Düzeltme oluştur'u seçen kullanıcı için uyarı deposu iznini görüntüleyin.
  • Azure Pipelines aracı havuzuna erişim. Copilot Autofix, düzeltmeyi oluşturmak ve yayımlamak için Microsoft tarafından barındırılan bir işlem hattı işini kuyruğa ekler. Bu çalıştırma için kullanılabilir bir paralel görev gerekir. Tüm paralel görevler kullanımdaysa, düzeltme işlemi kapasite kullanılabilir hâle gelene kadar kuyrukta bekler.

Copilot Otomatik Düzeltme, depo işlemlerini proje veya koleksiyon Derleme Hizmeti hesabı yerine GitHub Copilot ({organization}) adlı özel bir kimlik kullanarak gerçekleştirir. Hizmet, kimliğe otomatik olarak aşağıdaki izinleri verir:

Operation İzin
Projeye erişme Proje düzeyi bilgilerini görüntüleme
Depoyu kopyalama Read
Düzeltme dalını oluşturun ve gönderin Katkıda Bulunma ve Dal Oluşturma
Çekme isteğini oluşturun ve güncelleştirin Çekme isteklerine katkıda bulunma
Uyarıyı oku Gelişmiş Güvenlik: uyarıları görüntüleme
Çekme talebi tartışmaları ekleyin Pull request tartışmalarını okuyun ve katkıda bulunun
İşlem hattı çalıştırmasını güncelle Derleme bilgilerini güncelleştir
Çekme isteğini etiketleyin Copilot Otomatik Düzeltme etiketini oluşturma

Derleme Hizmeti hesabına bu izinleri vermeniz gerekmez. Kuruluşunuz açık ret izinleri kullanıyorsa, bu izinlerin GitHub Copilot ({organization}) kimliğini engellemediğini doğrulayın.

Ajan tabanlı Otomatik Düzeltme nasıl çalışır?

Agentic Autofix, yalnızca bildirilen kod konumuna güvenmek yerine uyarının bulgularını ve depo bağlamınızı kullanır. Copilot kodlama aracısı, kodlama standartlarınızı, mimarinizi ve düzeltme desenlerinizi anlamak için depoya eklenmiş özel yönergeleri ve ilgili becerileri kullanabilir. Aşağıdakileri içeren bir çekme isteğini açmadan önce önerilen değişikliği gözden geçirebilir ve iyileştirebilir:

  • Altta yatan güvenlik açığını gideren önerilen kod değişikliği.
  • Uyarı kimliği, önem derecesi ve değişikliğin özeti de dahil olmak üzere düzeltilmekte olan uyarının açıklaması .

Önerilen düzeltme kod tabanınızın daha geniş bağlamını dikkate aldığı için, değişiklik uyarının oluşturulduğu tek satırdan daha fazla yayılabilir ve gerektiğinde diğer dosyalarda değişiklik içerebilir.

Note

Copilot Autofix tarafından işlenen veriler, büyük dil modellerini (LLM) eğitmek için kullanılmaz.

Important

Copilot Otomatik düzeltme önerileri bir yapay zeka modeli tarafından oluşturulur ve doğru, eksiksiz veya güvenli olduğu garanti edilmemektedir. Çekme isteğini her zaman dikkatlice gözden geçirin, uyarıyı yeni sorunlar ortaya çıkarmadan giderdiğini doğrulayın ve birleştirmeden önce değişikliklerinizi test edin.

Desteklenen uyarılar

Uyarı türü Sınırlı açık önizleme desteği
Kod taraması CodeQL ve üçüncü taraf kod tarama araçlarından gelen uyarılar.
Bağımlılık taraması Güvenlik açığı uyarıları. Kötü amaçlı yazılım bulguları dahil değildir.
Gizli tarama Desteklenmiyor.

Desteklenen iki uyarı türünden herhangi biri için Copilot Otomatik Düzeltme, gözden geçirmeniz için bir değişiklik önerir. Her bulgu için bir düzeltme garantisi vermez. Daha fazla bilgi için Düzeltme kullanılamaz bölümüne bakın.

Repo yönergeleri ve yetkinlikleri sağlayın

agentic Autofix'e düzeltme oluştururken göz önünde bulundurmasını istediğiniz bağlamı verin. Desteklenen .github veya .agents konumlarındaki depoya özel yönergeleri ve becerileri ekleyin. Bu dosyalar, Copilot kodlama aracısının ekibinizin kodlama standartlarını ve yerleşik düzeltme iş akışlarını izlemesine yardımcı olabilir.

Özel yönergelere kodlama standartları ekleme

Değişikliklerin projenize nasıl uyması gerektiğini açıklamak için, örneğin .github/copilot-instructions.md gibi depo genelinde özel yönergeler kullanın. Adlandırma kuralları, onaylı kitaplıklar, mimari sınırlar ve değişiklikleri oluşturma ve test etme hakkında yönergeler ekleyin.

Örneğin, ekibiniz paylaşılan bir giriş doğrulama yardımcısı gerektiriyorsa, yönergelerde bu gereksinimi açıklayın. Temsilcinin bunu uyarıdan çıkaracağını varsaymayın.

# Coding standards

- Use the existing input-validation helpers instead of adding new validation logic.
- Follow the naming conventions in the surrounding code.
- Keep dependency changes scoped to the vulnerability being fixed.
- Update the relevant tests when a fix changes behavior.
- Run the documented build and test commands before proposing a change.

Copilot'un desteklediği dosya adlarını ve konumlarını kullanın. custom-instructions.md adlı bir dosya, yalnızca adıyla depo genelinde bir Copilot yönerge dosyası olduğunu göstermez. Depo genelinde dosya biçimi için bkz. GitHub Copilot için depo özel yönergeleri ekleme.

Yinelenebilir düzeltme görevleri için beceri ekleme

Repository becerileri göreve özgü yönergeler, betikler ve destekleyici kaynaklar sağlayabilir. Bir beceriyi, yönergeleri SKILL.md içinde olacak şekilde, .agents/skills/<skill-name>/ veya .github/skills/<skill-name>/ gibi bir dizinde depolayın.

Örneğin, bağımlılık güncelleştirme becerisi paket güncelleştirme yordamınızı ve uyumluluk denetimlerinizi açıklayabilir. Kod düzeltme becerisi, onaylı güvenlik kitaplıklarınızın nasıl kullanılacağını açıklayabilir. Agentic Autofix, düzeltme oluşturmanın bir parçası olarak ilgili becerilere başvurabilir; her beceri her uyarı için geçerli değildir. Beceri biçimi için bkz. Ajan becerileri hakkında.

Important

Repo yönergeleri ve yetenekler, oluşturulan bir düzeltmenin her gereksinimi karşıladığını garanti etmez, ek bağlam sağlar. Önerilen değişikliği standartlarınıza göre gözden geçirin, doğrulama denetimlerinizi çalıştırın ve birleştirmeden önce güvenlik açığının çözüldüğünü doğrulayın.

Billing

Copilot Otomatik Düzeltme, Azure DevOps için GitHub Gelişmiş Güvenlik lisansınıza dahildir. Bir düzeltme oluşturmak, kuruluşunuzun Azure faturalama sayacından yapay zeka kredileri tüketir.

Her düzeltme oluşturma işlemi modele gönderilen kod bağlamı için giriş belirteçleri, önerilen değişiklik için çıkış belirteçleri ve var olan bağlamı yeniden kullanan önbelleğe alınmış belirteçleri içeren belirteçleri kullanır.

Faturalandırmayı basit tutmak için bu belirteçler, 1 kredinin 0,01 ABD dolarına eşit olduğu GitHub yapay zeka kredisi olarak adlandırılan standart bir birime dönüştürülür. Ücretler, Azure DevOps kuruluşunuza bağlı Azure aboneliğine faturalandırılır ve Azure Maliyet Yönetimi’ta ayrı bir ölçüm olarak görünür.

Her düzeltmenin maliyeti, çevresindeki kod bağlamının boyutuna ve değişikliğin karmaşıklığına göre değişir.

Note

GitHub Copilot bütçe ayarları ve GitHub'da yapılandırılan kullanıcı sınırları, Azure DevOps Copilot Otomatik Düzeltme ölçümü harcamaları için geçerli değildir. Bu kullanım, GitHub Copilot faturalama yoluyla değil, Azure DevOps kuruluşunuza bağlı Azure aboneliği aracılığıyla faturalandırılır.

Projeye göre Autofix maliyetlerini görüntüleyin

Copilot Otomatik Düzeltme, kuruluş ve proje etiketlerini destekler; böylece kullanım ücretlerini filtreleyebilir ve Azure DevOps projelerdeki maliyetleri karşılaştırabilirsiniz.

  1. Azure portalında, Azure DevOps kuruluşunuza bağlı aboneliği açın. Maliyet Yönetimi>Maliyet analizi'ne gidin.
  2. Gözden geçirmek istediğiniz tarih aralığını seçin.
  3. Meter filtresi ekleyin ve AzDO GAC için AI Kredisi'ni seçin. Bu filtre, Autofix kullanım ücretlerini diğer abonelik maliyetlerinden yalıtıyor.
  4. _organizationname_ için bir etiket filtresi ekleyin ve maliyetlerini görüntülemek istediğiniz Azure DevOps kuruluşlarını seçin.
  5. Projeye göre otomatik düzeltme maliyet dökümünü görmek için Gruplandırma ölçütü değerini _projectname_ etiketine ayarlayın.

Maliyetler projeye göre gruplandırılmış AzDO GAC ölçümü ve kuruluş için yapay zeka kredisine filtrelenmiş Azure Maliyet analizinin ekran görüntüsü.

Tek tek tarihleri gözden geçirmek için Ayrıntı Düzeyi'niGünlük olarak ayarlayın ve görselleştirmeyi Tablo olarak değiştirin. Sayaç ve kuruluş filtrelerini ve proje gruplandırmasını koruyun. Ayrıca, tabloyu belirli projelere göre sınırlamak için _projectname_ etiketini filtreleyebilirsiniz.

AzDO GAC ölçümü, kuruluş ve seçili projeler için yapay zeka kredisine göre filtrelenmiş, Autofix maliyetlerini tarihe ve projeye göre gösteren günlük tablo görünümündeki Azure Maliyet analizinin ekran görüntüsü.

Copilot Otomatik Düzelt özelliğini etkinleştir

Copilot Otomatik Düzeltme'yi kuruluş, proje veya depo düzeyinde etkinleştirebilirsiniz. Otomatik Düzeltme'yi daha geniş bir kapsamda etkinleştirdiğinizde, bu ayar bu kapsamdaki tüm depolar için geçerlidir. Autofix'i, ayarın uygulanacağı depolara göre nerede yapılandıracağınızı seçin:

Kapsam Autofix nerede yapılandırılır
Organization Kuruluştaki tümdepolar için Otomatik Düzeltme'yi etkinleştirmek için Kuruluş ayarları> Depoları'nı seçin.
Project Projedeki tüm depolar için Otomatik Düzeltme'yi etkinleştirmek üzere Proje ayarları>Depolar>'ı seçin.
Depo Project ayarları>Depolar'ı seçin ve ardından yalnızca bu depo için Otomatik Düzeltme'yi etkinleştirmek üzere bir depo seçin.

Copilot Otomatik Düzeltmeyi etkinleştirmek için:

  1. Azure DevOps kuruluşunuzda (https://dev.azure.com/{yourorganization} ) oturum açın.
  2. Yapılandırmak istediğiniz kuruluş, proje veya depo kapsamının ayarlar sayfasına gidin.
  3. Gelişmiş Güvenlik bölümünde güvenlik uyarıları için Otomatik Düzeltme'yi bulun. Tek başına Kod Güvenliği kullanıyorsanız Kod Güvenliği özellikleri panelini açmak için Seçenekler'i seçin.
  4. Güvenlik uyarıları için Otomatik Düzeltme'yi seçin. Aynı ayar, desteklenen kod tarama ve bağımlılık tarama uyarıları için Copilot Otomatik Düzeltme'yi etkinleştirir.
  5. Kod Güvenliği özellikleri panelini kullanıyorsanız, değişikliklerinizi kaydetmek için Uygula'yı seçin.

Hem paketlenmiş Gelişmiş Güvenlik hem de tek başına Kod Güvenliği ayarlarının ekran görüntüleri için bkz. Copilot Autofix'i Yapılandırma.

Otomatik Düzeltme'nin etkinleştirilmesi taramayı yapılandırmaz veya otomatik olarak düzeltmeler oluşturmaz. İlk olarak kod taraması veya bağımlılık taraması yapılandırın. Ardından, desteklenen bir uyarı için bir düzeltme isteyin.

Uyarı için düzeltme oluşturma

Copilot Autofix’i etkinleştirdikten sonra, desteklenen bir kod tarama uyarısı veya bağımlılık güvenlik açığı uyarısı için aynı adımları kullanın.

  1. Repos>Gelişmiş Güvenlik'yi seçin.
  2. Kod tarama veya bağımlılık tarama uyarı listesini açın ve ardından ayrıntılı görünümünü açmak için bir uyarı seçin.
  3. Bulguyu, etkilenen kod veya bağımlılık ile düzeltme kılavuzunu gözden geçirin.
  4. Düzeltme oluştur'a tıklayın.

Aşağıdaki kod tarama örnekleri paylaşılan iş akışını göstermektedir. Bağımlılık tarama örneği, bu bölümün devamında oluşturulan bir pull request’i gösterir.

Sağ üstteki Düzeltme oluştur düğmesinin bulunduğu kod tarama uyarısı ayrıntı görünümünün ekran görüntüsü.

Copilot Otomatik Düzeltme düzeltme üzerinde çalışsa da, uyarı ayrıntı görünümü düzeltmenin devam ettiğini gösterir. Düzeltme hazır olduğunda, Copilot Autofix bir çekme isteği açar.

Çekme isteğini açmadan önce Copilot Otomatik Düzeltme’nin bir düzeltme üzerinde çalıştığını gösteren kod tarama uyarısının ayrıntı görünümünün ekran görüntüsü.

Copilot Otomatik Düzeltme düzeltmeyi oluşturur ve copilot-autofix/... adlı daldan bir çekme isteği açar. Çekme isteği, çekme istekleri listesinde Autofix çekme isteklerini tanımlamak için kullanabileceğiniz Copilot Autofix etiketiyle etiketlenmiştir.

Aynı uyarı ve dal için yalnızca bir düzeltme etkin olabilir. İstek beklemede veya işlem hattı çalışırken Düzeltme oluştur kullanılamaz. Aynı anda başka bir istek gönderilirse, uyarı bir düzeltmenin zaten oluşturulduğunu gösterir. Etkin istek başarılı veya başarısız olduktan sonra başka bir düzeltme oluşturabilirsiniz.

CodeQL uyarıları için çekme isteği, uyarı ayrıntıları görünümünde İlgili çekme istekleri altında otomatik olarak görünür ve oluşturma ile tamamlama süreci ilerledikçe güncellenmeye devam eder; bu nedenle sayfayı yenilemeniz gerekmez.

İlgili çekme istekleri altında aktif bir Autofix çekme isteğini gösteren kod tarama uyarısının ayrıntı görünümünün ekran görüntüsü.

Aşağıdaki bağımlılık tarama örneği, İlgili pull request’ler altında güvenlik açığı bulunan bir paket için etkin bir Otomatik Düzeltme pull request’i gösterir.

İlgili çekme istekleri altında urllib3 güvenlik açığı için etkin bir Otomatik Düzeltme çekme isteğini gösteren bağımlılık tarama uyarısının ekran görüntüsü.

Copilot Otomatik Düzeltme uyarıya yönelik herhangi bir kod değişikliği oluşturmazsa bir dal veya çekme isteği oluşturmaz ve uyarı ayrıntıları görünümünde çekme isteğine bağlantı vermez. Bu durumda uyarıyı el ile düzeltin. Daha fazla bilgi için Düzeltme kullanılamaz bölümüne bakın.

Düzeltmeyi gözden geçirin ve birleştirin

Copilot Autofix’in açtığı çekme isteği, diğer Azure Repos çekme istekleri gibi davranır. Açıklaması, düzeltmenin ele aldığı uyarıyı özetler.

Copilot Autofix tarafından oluşturulan, açıklamada uyarı kimliğini, önem derecesini ve düzeltme ayrıntılarını gösteren bir çekme isteğinin ekran görüntüsü.

Copilot Otomatik Düzeltme etiketi, otomatik düzeltme çekme isteklerini belirtir.

  1. Çekme isteğini uyarının İlgili çekme istekleri bölümünden veya Repos>Çekme istekleri bölümünden açın.
  2. Tüm etkilenen dosyalardaki Dosyalar sekmesinde önerilen değişikliği gözden geçirin.
  3. Kod stilinize, adlandırma kurallarınıza veya proje gereksinimlerinize uymanız gerekiyorsa değişikliği düzenleyin.
  4. Pull request’i alışılmış inceleme sürecinizi izleyerek onaylayın ve tamamlayın.

Çekme isteğini birleştirdikten sonra, birleştirilmiş hedef dalda ilgili tarayıcıyı çalıştırın. Copilot Otomatik Düzeltme, bu birleştirme sonrası taramayı gerçekleştirmez.

Uyarıyı düzelttiniz Birleştirmeden sonra çalıştırılacaklar
Kod taraması Uyarıyı bildiren CodeQL veya üçüncü taraf tarayıcıyı çalıştırın ve güncelleştirilmiş analiz sonuçlarını Advanced Security'de yayımlayın.
Bağımlılık güvenlik açığı Gelişmiş Güvenlik'in güncelleştirilmiş bağımlılıkları işleyebilmesi için bağımlılık taramasını çalıştırın.

Çekme isteğini tek başına birleştirmek uyarıyı kapatmaz. Gelişmiş Güvenlik, yeni tarama sonuçlarını işledikten sonra uyarı durumunu güncelleştirir. Bu sonuçların artık güvenlik açığını bildirmediğini doğrulayın.

Tip

Oluşturulan düzeltme, son bir yanıt değil başlangıç noktasıdır. Pull request’i diğer değişiklikler gibi ele alın: birleştirmeden önce gözden geçirin, test edin ve gerektiğinde ek gözden geçirenler talep edin.

Copilot Otomatik Düzeltme Sorunlarını Giderme

Düzeltme devam ediyor

Çoğu Copilot Otomatik Düzeltme çalıştırması yaklaşık 2-5 dakika içinde tamamlanır. Çalışma süresi, kullanılabilir işlem hattı kapasitesine ve değişikliğin karmaşıklığına bağlı olarak değişebilir. Tüm paralel işler kullanımdaysa işlem hattı kuyruğa alınmış durumda kalır ve kapasite kullanılabilir duruma gelene kadar uyarı Düzeltme devam ediyor olarak gösterilmeye devam eder.

Bir istek, işlem hattı kuyruğa alınmadan önce beklemede kalırsa 30 dakika sonra başarısız olur. Kuyruktaki veya çalışan bir işlem hattının zaman aşımı süresi iki saattir. Arka uç zaman aşımına ulaşılana kadar uyarı otomatik olarak güncelleştirmeyi durdurabilir. Uyarı devam ederse:

  1. Uyarı ayrıntı sayfasını yenileyin.
  2. Çalıştırmayı görüntüle seçeneği kullanılabiliyorsa işlem hattı çalıştırmasını açın ve kuyruğa alınmış mı yoksa çalışıyor mu kontrol edin.
  3. İsteğin başarılı ya da başarısız duruma ulaşmasını bekleyin. Mevcut istek etkinken başka bir istek göndermeyin.
  4. İstek başarısız olursa, hata iletisini gözden geçirin ve sorunu giderdikten sonra Düzeltmeyi yeniden deneyin'i seçin.

Çekme talebi oluşturuldu ancak uyarıyla ilişkilendirilmedi

Çekme isteği, İlgili çekme istekleri altında görünmeden önce başarıyla oluşturulabilir. Uyarı ayrıntı sayfasını yenileyin. Çekme isteği hâlâ ilişkilendirilmemişse, Repos>Çekme istekleri'ni seçin ve şunları arayın:

  • Copilot Otomatik Düzeltme etiketi.
  • ile copilot-autofix/başlayan bir kaynak dal.
  • Uyarıya referans veren bir çekme isteği başlığı veya açıklaması.

Bağlantı uyarıda görünmese bile, çekme isteğini normal çekme isteği iş akışını izleyerek gözden geçirin ve birleştirin.

Depo veya çekme isteği işlemleri başarısız oldu

Copilot Otomatik Düzeltme, uyarıyla ilişkili dalın sığ bir kopyasını gerçekleştirir. Git alt modüllerini başlatmaz. Benzersiz adlandırılmış copilot-autofix/... bir dal oluşturur, oluşturulan değişikliği iletir ve uyarı dalını hedefleyen bir çekme isteği açar.

İşlem hattı günlüklerini incelemek için uyarının başarısız durumundan Çalıştırmayı görüntüle seçeneğini kullanın. Aşağıdaki tabloda yaygın nedenler ve eylemler listelenir:

Failure Denetlenecek şeyler
Depo veya dal kopyalanamaz Deponun ve uyarı dalının hâlâ mevcut olduğunu doğrulayın. Bir çekme isteğinde tespit edilen bir uyarı için, hem kaynak dalın hem de çekme isteğinin hâlâ etkin olması gerekir. Dal silindiyse, geçerli dalda ilgili tarayıcıyı çalıştırın ve sonuçta elde edilen uyarıdan bir düzeltme oluşturun.
Düzeltme, Git alt modülündeki koda bağlıdır Copilot Autofix alt modülleri başlatmaz. Gerekli kod bağlamı bir alt modülde depolanıyorsa uyarıyı el ile düzeltin.
Varsayılan dal değiştirildi veya uyarı dalı silindi Copilot Autofix, uyarıyla ilişkili dalı hedefler; bu dal her zaman mevcut varsayılan dal olmayabilir. hedeflenen dalda ilgili tarayıcıyı çalıştırın ve bu dalın uyarısından bir düzeltme oluşturun.
Düzeltme dalı oluşturulamaz Depo dalı adı kısıtlamalarını ve GitHub Copilot ({organization}) kimliği için açık reddetme izinlerini denetleyin. copilot-autofix/ önekine sahip dallara izin ver. Yeniden deneme, benzersiz olarak adlandırılmış yeni bir dal oluşturur.
Dal ilkesi değişikliği engeller Çekme isteği tamamlama ilkeleri, diğer çekme isteklerinde olduğu gibi Autofix çekme isteği için de geçerlidir. Tamamlamadan önce gerekli inceleyicileri ve doğrulama kurallarını yerine getirin. Bir depo politikası ilk gönderimi engelliyorsa, politikayı Autofix kimliğine ve dal ön ekine izin verecek şekilde güncelleştirin.
Oluşturulan commit push edilemiyor GitHub Copilot ({organization}) ve Dal oluşturma izinlerini, açık reddetmeler dahil, kimliği için denetleyin. Ayrıca, Bir düzeltme oluşturuldu ancak commit edilemedi veya gönderilemedi başlığında açıklandığı gibi commit yazarının e-posta doğrulamasını da kontrol edin.
Çekme isteği oluşturulamıyor GitHub Copilot ({organization}) kimliği için Çekme isteklerine katkıda bulunma iznini ve Copilot Autofix etiketini oluşturma iznini denetleyin.

Bir düzeltme oluşturuldu ancak commit edilemedi veya push edilemedi

Copilot Autofix, commit yazarı e-postası olarak noreply@dev.azure.com kullanır. Bir commit yazarı e-posta doğrulama ilkesi bu adrese izin vermiyorsa, Copilot Autofix kod değişikliğini oluşturabilir; ancak çekme isteğini oluşturmak için bunu commit edemez veya pushlayamaz.

Uyarı ayrıntı görünümü, engellenen commit yazarının e-posta adresini belirten bir hata görüntüler.

İşleme yazarı e-postaya izin verilmediğinden Copilot Otomatik Düzeltme'nin oluşturulan bir düzeltmeyi işleyemeyeceğini gösteren kod tarama uyarısının ekran görüntüsü.

noreply@dev.azure.com öğesini, commit yazarı e-posta doğrulama ilkesindeki izin verilen e-posta kalıplarına ekleyin:

  1. Proje ayarları>Depolar'ı seçin.
  2. Proje düzeyi ilkesini güncelleştirmek için Tüm Depolar'ı seçin veya ilkeyi içeren depoyu seçin.
  3. Politikalar'ı seçin.
  4. Depo İlkeleri'nin altında Commit author e-posta doğrulamayı bulun.
  5. noreply@dev.azure.com öğesini izin verilen e-posta kalıplarına ekleyin.
  6. Uyarıya dönün ve Düzeltmeyi yeniden dene'yi seçin.

Copilot Autofix e-posta adresini izin verilen commit yazarı e-posta desenlerine eklediğiniz depo ilkesi ayarlarının ekran görüntüsü.

Çalıştırma başarısız oluyor

Copilot Otomatik Düzeltme çalıştırması tamamlanamadıysa, uyarı belirgin bir hata durumu gösterir, böylece çalıştırmanın başarılı olmadığını hızlı bir şekilde görebilirsiniz. Hata durumundan çalıştırmayı yeniden deneyerek yeni bir düzeltme oluşturabilirsiniz.

Çalıştırmayı yeniden deneme seçeneğinin bulunduğu, başarısız durumdaki bir Copilot Otomatik Düzeltme çalıştırmasını gösteren kod tarama uyarısının ekran görüntüsü.

Bir çalıştırma geçici nedenlerle veya çalıştırma kullanılabilir bir kod değişikliği üretmediğinde başarısız olabilir. Düzeltmeyi yeniden oluşturmak için çalıştırmayı yeniden deneyin.

Düzeltmeyi birleştirdikten sonra bir uyarı açık kalır

Otomatik Düzeltme çekme isteğinin birleştirilmesi uyarıyı tek başına kapatmaz. Gelişmiş Güvenlik, bulguyu bildiren tarayıcıdan yeni sonuçlara ihtiyaç duyar. Uyarı açık kalırsa:

  1. Çekme isteğinin, uyarının algılandığı aynı dalda birleştirildiğini doğrulayın.
  2. Kod tarama veya bağımlılık taramasının uygun şekilde birleştirme işleminden sonra çalıştırıldığını ve birleştirilmiş commit’i analiz ettiğini onaylayın.
  3. Advanced Security'nin doğru depo ve dal için güncelleştirilmiş sonuçları işlediğini onaylayın.
  4. Güvenlik açığının artık algılanmadıklarından emin olmak için yeni sonuçları gözden geçirin.
  5. Güvenlik açığı hala mevcutsa düzeltmeyi güncelleştirin ve ilgili tarayıcıyı yeniden çalıştırın.

Çözüm mevcut değil

Copilot Autofix her uyarı için bir düzeltme üretemez. Aşağıdaki durumlarda bir düzeltme kullanılamayabilir:

  • Uyarı türü şu anda Copilot Autofix tarafından desteklenmiyor.
  • Copilot uyarının hatalı pozitif olabileceğini belirler.
  • Copilot Autofix çalışıyor ancak kodda herhangi bir değişiklik üretmiyor. Bu durumda dal veya çekme talebi oluşturulmaz.

Copilot Otomatik Düzeltme, uyarının yanlış pozitif olabileceğini belirler ve herhangi bir değişiklik üretmezse sonuç, uyarı ayrıntıları görünümünde gösterilir. Çalıştırmayı gözden geçirebilir veya düzeltmeyi yeniden deneyebilirsiniz.

Copilot’un uyarının yanlış pozitif olabileceğini belirlediğini ve herhangi bir düzeltme üretmediğini, ayrıca çalıştırmayı görüntüleme veya düzeltmeyi yeniden deneme seçeneklerini gösteren kod tarama uyarısının ayrıntı görünümünün ekran görüntüsü.

Bir düzeltme mevcut olmadığında, uyarının giderme yönergelerini kullanarak bunu manuel olarak düzeltin. Bir uyarıyı yalnızca bulguyu gözden geçirdikten ve uygun kapatma nedenini belirledikten sonra kapatın. Daha fazla bilgi için bkz. Kod tarama uyarı ayrıntıları ve Bağımlılık tarama uyarı ayrıntıları.