GitHub commit'leri, pull request'leri, dalları ve issue'ları Azure Boards iş öğelerine bağlama

Azure DevOps Hizmetleri | Azure DevOps Server | Azure DevOps Server 2022

Bu makalede, Azure Boards projenizi bir GitHub deposuna bağladıktan sonra iş öğelerini GitHub commit'lerine, çekme taleplerine, dallara ve derlemelere nasıl bağlayacağınızı öğreneceksiniz. Commit'ler ve dallar için #mention söz dizimini kullanın, iş öğesi tartışmalarında GitHub çekme isteklerine başvurmak için ! anmalarını kullanın veya doğrudan Azure Boards iş öğesinden bir GitHub commit’i, çekme isteği ya da dal bağlantısı ekleyin.

Note

GitHub tümleştirme desteği:

  • Azure DevOps Services: GitHub için Azure Boards uygulaması aracılığıyla hem GitHub.com hem de GitHub Enterprise Server depolarıyla tümleştirilir.
  • Azure DevOps Server 2020 ve üzeri: Yalnızca GitHub Enterprise Server depolarıyla tümleştirmeyi destekler.
  • Diğer Git depoları: Tümleştirme desteklenmez.

Prerequisites

Category Requirements
İzinler Hem Azure Boards projesine hem de GitHub deposuna Katkıda Bulunan erişiminiz vardır.
Proje bağlantısı Bağlamak istediğiniz işlemeleri, çekme isteklerini ve dalları barındıran GitHub deposuna Azure Boards projenizi bağlayın. Daha fazla bilgi için bkz. Azure Boards-GitHub integration.

Note

Projeniz Barındırılan XML süreç modelini kullanıyorsa, Development bölümünü ve GitHub bağlantı türlerini görebilmek için iş öğesi türlerini güncelleştirin. Daha fazla bilgi için bkz . Belirli iş öğesi türleri için XML tanımlarını güncelleştirme.

Azure Boards iş öğelerine bağlantı vermek için GitHub metninde AB# bahsetmelerini kullanın.

Bağlantı oluşturmak için:

  1. AB#{ID} öğesini bir işleme mesajına, çekme isteği açıklamasına veya problem açıklamasına ekleyin.
  2. Commit’i push edin veya pull request’i ya da issue’yu kaydedin.
  3. Bağlantının Geliştirme bölümünde göründüğünü onaylamak için iş öğesini açın.

AB#ID ifadesini bir yorumda ya da çekme isteği başlığında kullanmak, iş öğesi üzerinde bir bağlantı oluşturmaz.

AB#{ID}

Örneğin, AB#125 bir iş öğesi kimliği 125'e bağlantı verir.

İş öğelerinin durumunu gönderme veya çekme isteği metninden de değiştirebilirsiniz. Azure Boards, {state} veya {state category} ile fix, fixes ve fixed gibi anahtar sözcükleri tanır ve ardından bu geçişi, ardından gelen AB# referansına uygular.

Çekme isteği açıklaması geçerli bir durum adı içerdiğinde, örneğin, Closed AB#1234, sistem ilgili iş öğesini bu belirli duruma günceller. Durum adı doğrudan tanınmıyorsa, Azure Boards bunu Resolved veya Completed gibi bir iş akışı kategorisiyle eşleştirmeye çalışır. Eşleşme bulunursa, iş öğesi söz konusu kategori altında tanımlanan ilk kullanılabilir duruma geçirilir.

Varsayılan olarak, fix, fixes veya fixed ile başvurulan iş öğeleri, Çözümlendi kategorisiyle ilişkilendirilmiş ilk duruma geçer. Geçerli işlemde böyle bir durum yoksa, sistem bunun yerine iş öğesini Tamamlandı kategorisindeki ilk duruma geçirmektedir.

Important

İş öğelerini bağlamaya ve diğer dalları hedeflemeye devam edebilirsiniz, ancak pull request varsayılan dalda birleştirilmediği sürece durum geçiş kuralları uygulanmaz.

Daha fazla bilgi için bkz. Azure Boards birikimleri ve panolarında iş akışı kategorisi durumları nasıl kullanılır.

Aşağıdaki yalnızca bağlantı örneklerini kullanın:

Taahhüt veya çekme isteği iletisi Action
AB#123 123 numaralı iş öğesini Azure Boards'a bağlar. Durum geçişi gerçekleşmez.
Adds a new feature, AB#123. Azure Boards iş öğesi 123'e bağlar. Durum geçişi gerçekleşmez.
AB#123, AB#124, and AB#126 Azure Boards’daki 123, 124 ve 126 iş öğelerini bağlar. Durum geçişi gerçekleşmez.
Fixing multiple bugs: issue #123 and user story AB#234 GitHub'daki sorun 123 ve Azure Boards'taki iş öğesi 234'e bağlantılar. Geçiş yapılmaz.

Aşağıdaki bağlantı ve geçiş örneklerini kullanın:

Taahhüt veya çekme isteği iletisi Action
Fixed AB#123 İş öğesini Çözümlenmiş iş akışı durumu kategorisine veya tanımlı değilse Tamamlanan iş akışı durumu kategorisine bağlar ve bu kategoriye geçirilir.
Closed AB#123 İş öğesini Kapalı iş akışı durumuna bağlar ve geçirir. Hiçbiri tanımlanmamışsa hiçbir geçiş yapılmaz.
Adds a new feature, fixes AB#123. İş öğesini Çözümlenmiş iş akışı durumu kategorisine veya tanımlı değilse Tamamlanan iş akışı durumu kategorisine bağlar ve bu kategoriye geçirilir.
Fixes AB#123, AB#124, and AB#126 Azure Boards 123, 124 ve 126 iş öğelerine bağlantılar. Yalnızca ilk öğe olan 123'i Çözüldü iş akışı durumu kategorisine veya tanımlı değilse Tamamlandı iş akışı durumu kategorisine geçirilir.
Fixes AB#123, Fixes AB#124, Fixes AB#125 Azure Boards'daki 123, 124 ve 125 numaralı iş öğelerinin bağlantıları. Tüm öğeleri Çözüldü iş akışı durumu kategorisine veya tanımlı değilse Tamamlandı iş akışı durumu kategorisine geçirilir.

Note

Aynı GitHub deposunu iki veya daha fazla Azure DevOps organizasyonundaki projelere bağladıysanız, beklenmeyen AB# mention bağlantısıyla karşılaşabilirsiniz. Daha fazla bilgi için bkz . Bağlantı sorunlarını çözme. Bu nedenle, yalnızca tek bir Azure DevOps kuruluşunda tanımlanan projelere bir GitHub deposu bağlamanızı öneririz.

Çekme isteği açıklamasında AB# kullanarak iş öğesine bağlantı eklediğinizde, bu bağlantılar GitHub çekme isteğinin Development bölümünde görünür. Bu bağlantılar yalnızca çekme isteği açıklamasında AB# kullandığınızda kullanılabilir. İş öğesinden doğrudan bir pull request'e bağlanırsanız, görünmezler. Referansın AB# açıklamadan kaldırılması, geliştirme bölümünden de kaldırılmasına neden olur.

GitHub çekme isteğinin geliştirme bölümündeki AB# bağlantılarının ekran görüntüsü.

İş öğesinden GitHub dalı oluşturma

Doğrudan bir iş öğesinden GitHub dalı oluşturmak için aşağıdaki adımları kullanın:

  1. Panonuzdan, GitHub dalı oluşturmak için kullanmak istediğiniz iş öğesini bulun.

  2. Çalışma öğesi eylemleri>Yeni GitHub dalı öğesini seçin.

    Çalışma öğesinin ekran görüntüsü: Diğer eylemler menüsünden seçilmiş ve vurgulanmış Yeni GitHub dalı seçeneği.

  3. GitHub dalı oluştur iletişim kutusunda dal adını girin. GitHub deposunu ve temel dalı seçin.

  4. Oluştur'i seçin.

    GitHub Dalı Oluştur iletişim kutusunun ekran görüntüsü.

    Azure Boards belirtilen GitHub deposunda dalı oluşturur ve iş öğesine bağlar. Daha fazla bilgi için bkz. Azure Boards-GitHub integration.

  1. İş öğenizi açın ve Geliştirme alanına gidin.

  2. Bağlantı ekle'yi seçin. Her açılan menüden link türünüzü, GitHub deposu ve GitHub çekme isteği seçin. Belirli bir pull isteğini veya commit'i bulmak ve seçmek için URL kopyalayıp yapıştırmanıza gerek kalmadan depo içinde arama yapabilir ve detaylara inebilirsiniz.

  3. Bağlantı ekle'yi seçin.

    İş öğesine çekme isteği bağlantısı eklemeye yönelik beş adımlı sırayı gösteren ekran görüntüsü.

    Azure Boards geçerli bir bağlantı girdiğinizden emin olmak için denetler. Bağlı GitHub deposu Azure Boards projesine bağlı olmalıdır, aksi takdirde doğrulama başarısız olur.

Note

Azure DevOps Server ve Enterprise Server GitHub kullanıyorsanız, AB# bağlantılarını tamamlarken bir gecikme olur. GitHub olaylarındaki Commit, PR ve Sorunlar üzerindeki artımlı değişiklikleri saatte bir çekmek için 'push ve pull' tasarımı kullanılır.

Birkaç olay, iş öğesi formundaki bağlantıları otomatik olarak güncelleştirdiğinden, bunları el ile oluşturmanız gerekmez. Bu olaylar şunlardır:

GitHub olayı Action
Dal bağlantısı Bir daldan çekme isteği oluşturulduğunda, bu çekme isteği otomatik olarak iş öğesine bağlanır.
Birleştirme işlemesi Pull isteği birleştirildikten sonra, oluşan birleştirme işlemi otomatik olarak iş birimine bağlanır.
Dalı sil Dal silinirse (genellikle birleştirildikten sonra), bağlantısı iş öğesinden otomatik olarak kaldırılır.

İş öğesi formundaki Geliştirme bölümünde, GitHub simgesini kullanarak GitHub işleme ve çekme istekleri için oluşturulan bağlantılar listelenir.

Çalışma öğesi formunun ekran görüntüsü, Geliştirme bölümünde GitHub bağlantıları gösterir.

Commit veya pull isteğini GitHub'da açmak için bağlantıyı seçin.

GitHub pull request içgörüleri

Geliştirme bölümündeki ilişkili GitHub pull request'leri ek durum ayrıntılarını gösterir. GitHub’da pull request’i açmadan ilerleme durumunu değerlendirebilirsiniz.

Çekme isteği içgörüleri için önkoşullar

Pull Request içgörülerini görmek için GitHub'daki Azure Boards uygulamasına gidin ve Denetimler için okuma ve yazma erişimi güncellenmiş izinlerini kabul edin.

`Azure Boards GitHub uygulama izinleri iletişim kutusunun ekran görüntüsü, güncellenmiş Denetimler izinlerini göstermektedir.`

Çekme isteği durum ayrıntılarını görüntüleme

  1. Bağlı bir GitHub çekme isteği olan iş öğesi açın.

  2. Geliştirme bölümünde bağlantılı çekme isteğini bulun. Çekme isteği bağlantısının yanında aşağıdaki durum ayrıntıları görüntülenir:

    • Taslak durumu: Çekme isteğinin hala taslak olup olmadığını gösterir.
    • Gözden geçirme durumu: Çekme isteğinin gözden geçirilmesini mi, onaylandığını mı yoksa değişiklik mi istendiğini gösterir.
    • Denetim durumu: CI denetimlerinin başarılı, başarısız veya beklemede olup olmadığını gösterir.

     Geliştirme bölümünün, kapalı, inceleme ve kontrol durumu ayrıntı göstergelerini içeren bağlı bir GitHub çekme isteğini gösteren ekran görüntüsü.

  3. Detayları görmek için bir durum göstergesinin üzerine gelin veya doğrudan GitHub'da açmak için çekme isteği bağlantısını seçin.

! kullanarak GitHub çekme isteklerinden bahsedin

! etiketlerini kullanarak herhangi bir iş öğesinin zengin metin alanından veya tartışma açıklamasından doğrudan GitHub çekme isteklerine başvurun ve tartışın. Metin alanına ! yazdığınızda, bağlı bir depodan GitHub çekme isteği aramak ve seçmek için kullanabileceğiniz bir seçici görüntülenir. Seçili çekme isteği tıklanabilir bağlantı olarak eklenir.

Bu özellik, URL'leri el ile kopyalamadan iş öğesi açıklamalarında, kabul ölçütlerinde veya tartışma mesaj dizilerinde ilgili çekme isteklerine kolayca başvurmayı sağlar.

Bir iş öğesi tartışmasından GitHub çekme isteğine başvurmak için ! bahsini nasıl kullanacağınızı gösteren GIF.

YAML boru hatları için derleme durumunu görüntüleme (Derlemeye entegre)

GitHub deposunda barındırılan kodu oluşturmak için Azure Pipelines YAML kullandığınızda, ilişkili çalışma öğeleri üzerinde 'derlemede birleştirildi' bağlantılarını otomatik olarak oluşturabilirsiniz. Bu özellik, GitHub depoları için derleme izlenebilirliği sağlayarak Azure Repos'ta sunulan deneyimle eşdeğer kılar.

Bu özelliği etkinleştirmek için:

  1. YAML işlem hattınızı açın, Diğer eylemler'i ve ardından Ayarlar'ı seçin.

  2. İşlem hattı ayarları iletişim kutusunda, Bu derlemede yeni iş öğelerini otomatik olarak bağla seçeneğini etkinleştirin.

    Bu derlemedeki yeni iş öğelerini otomatik olarak bağla seçeneğini gösteren YAML İşlem Hattı ayarları iletişim kutusunun ekran görüntüsü.

Derleme tamamlandığında, ilişkili her iş öğesinin Geliştirme bölümünde otomatik olarak bir Tümleşik derleme bağlantısı görüntülenir ve ekibinize iş öğesinden derlemeye kadar tam izlenebilirlik sağlar.

Geliştirme bölümünde bulunan Derleme ile tümleşik bağlantısını gösteren iş öğesinin ekran görüntüsü.

Bu ayarı yapılandırma hakkında daha fazla bilgi için bkz. İşlem hatlarını iş izlemeyi destekleyecek şekilde yapılandırma.

Panodaki GitHub nesneleri görüntüleme

Panoda GitHub ek açıklamalarını etkinleştirdiğinizde, daha fazla ayrıntı görmek için bağlantılı GitHub commit’lerini, çekme isteklerini veya issue’larını hızla açabilirsiniz. Daha fazla bilgi için Kartları özelleştirme bölümüne bakınız.

GitHub bağlantılarını iş öğesi kartlarında gösteren panonun ekran görüntüsü.

Azure DevOps MCP Sunucusu'nu yapılandırıyorsanız, iş öğesi formunda el ile gezinmek yerine GitHub-iş öğesi bağlama görevlerini doğal dilde açıklayabilirsiniz.

Senaryo örnekleri olarak bu istemleri kullanın. Desteklenen işlemler yapılandırılmış araç kümelerine, uzantı sürümüne ve izinlerinize göre farklılık gösterir.

Bazı istemler yazma eylemi gerçekleştirmek yerine rehberlik döndürebilir veya etkinleştirdiğiniz MCP araçlarına bağlı olarak birden çok istem gerektirebilir.

bir istem çalıştırmadan önce , <Contoso>ve <owner/repo> gibi <sha>yer tutucuları gerçek değerlerinizle değiştirin.

Bu hızlı çalıştırma ve doğrulama akışını kullanın:

  1. Tablodan bir istem çalıştırın.
  2. Gerçekleştirilen eylemin yanıtını gözden geçirin.
  3. İş öğesini açın ve Geliştirme bölümünde sonucu onaylayın.
  4. İlgili GitHub yapıtını açın ve beklenen bağlantıyı veya güncelleştirmeyi onaylayın.

Önce şu istemleri deneyin:

  • Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42
  • Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>
  • Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
Görev Örnek talimat
Bir iş öğesini bir çekme isteğine bağlama Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42
Bir iş öğesini bir gönderime bağlama Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>
bir iş öğesini bir soruna bağlama Link work item AB#500 in project <Contoso> to GitHub issue <owner/repo>#10
İş öğesinden GitHub dalı oluşturma Create a GitHub branch named feature/checkout for work item 500 in project <Contoso> from repo <owner/repo> base branch main
PR birleştirildikten sonra bağlı iş öğesi durumunu güncelle After PR <owner/repo>#42 merges, update linked work item AB#125 to Resolved
İlgili iş öğelerini toplu olarak bağlama Link all active user stories in area path <Contoso\\Web> to GitHub PR <owner/repo>#42
Bağlantısız iş öğelerini bulma List all closed work items in project <Contoso> from the last 30 days that have no linked GitHub pull request
İş öğesi için GitHub etkinliğini özetleme Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
PR'ye AB# referansı ekleme Suggest an AB# reference line to add to PR <owner/repo>#42 description that links to work items 125 and 126
Bağlı PR'lerin durumunu denetleme Show the review and check status of all GitHub pull requests linked to active user stories in project <Contoso>

Note

Visual Studio Code kullanıyorsanız aracı modunu kullanın. Azure DevOps MCP Sunucusu işlemleri, aracı modunun Azure DevOps verilere erişmesini ve işlemleri gerçekleştirmesini gerektirir.

Yapay zeka destekli bağlantı sorunlarını giderme

  • İstem çalışmazsa, yapay zeka istemcinizde aracı modunun etkinleştirildiğini onaylayın.
  • Bir istem erişim hatalarıyla başarısız olursa hesabınızın Azure DevOps projesine ve GitHub deposuna erişimi olduğunu doğrulayın.
  • Bağlantılar oluşturulmazsa, tüm yer tutucuları (örneğin, <Contoso>, <owner/repo>, <sha>) gerçek değerlerle değiştirin ve istemi yeniden çalıştırın.
  • Toplu istem başarısız olursa, önce tek bir iş öğesiyle yeniden deneyin, ardından daha küçük bir toplu işlemle yineleyin.
  • Sonuçlar yine de beklentileri karşılamıyorsa, sonucu iş öğesi Geliştirme bölümünde ve ilgili GitHub yapıtında doğrulayın.

Sonraki adım