Azure DevOps Server GitHub 'a (şirket içi) bağlama

Azure DevOps Server | Azure DevOps Server 2022

Azure DevOps Server projenizi GitHub depolarınıza bağladığınızda, GitHub taahhütleri ve çekme istekleri ile iş öğeleri arasında bağlantı kurmayı sağlarsınız. çalışmanızı planlamak ve izlemek için Azure Boards kullanırken yazılım geliştirme için GitHub kullanabilirsiniz.

Note

Azure DevOps Server, GitHub.com ve GitHub Enterprise Server depolarıyla tümleştirmeyi destekler. Azure DevOps Hizmetleri'nden bağlanmak için, Azure Boards'u GitHub'a bağlama konusuna bakın.

Prerequisites

Category Requirements
İzinler - Proje Koleksiyonu Yöneticileri grubu üyesi ve proje Katkıda Bulunanlar grubu. Projeyi oluşturduysanız izinleriniz vardır.
Bağlandığınız GitHub Enterprise Server'ın yöneticisi.
Proje üyeliği Projesi'nin bir üyesi.
GitHub ile tümleştirme - Azure DevOps Server 2020.1.1 Yama 2. Bu düzeltme eki olmadan yalnızca GitHub Enterprise Server depolarınıza bağlanabilirsiniz.
GitHub kuruluşlarında veya hesaplarında - Azure Boards uygulaması yüklenir.

Kimlik doğrulama seçenekleri

Aşağıdaki kimlik doğrulama seçenekleri desteklenir:

Note

OAuth, Azure DevOps Server 2020 için desteklenmez.

Azure DevOps Server GitHub Enterprise Server'a bağlama

Bir Azure Boards projesine en fazla 250 GitHub depo bağlayabilirsiniz.

  1. Azure DevOps Server için web portalını açın.

  2. Azure DevOps logosunu seçerek Projects açın ve ardından GitHub Kurumsal depolarınıza bağlanmak için yapılandırmak istediğiniz Azure Boards projesini seçin.

  3. Proje ayarları>GitHub connections öğesini seçin.

    Açık Proje Ayarları, GitHub bağlantıları ekran görüntüsü.

  4. Projeden ilk kez bağlantı oluşturuyorsanız, bağlantıyı yapmak için kullanmak istediğiniz kimlik doğrulama yöntemini seçin:

    GitHub kimlik bilgileriyle ilk kez bağlanma ekran görüntüsü.

    Aksi takdirde Yeni bağlantı'yı seçin ve Yeni Bağlantı iletişim kutusundan kimlik doğrulama yönteminizi seçin.

GitHub Kişisel Erişim Belirteci ile Azure DevOps Server bağlama

  1. GitHub PAT oluşturmak için bkz. GitHub PAT oluşturma.

    Tip

    GitHub PAT'nizi oluştururken şu kapsamları eklediğinizden emin olun: repo, admin:repo_hook, read:user, user:email.

  2. GitHub Enterprise sunucunuzun URL'sini ve bu sunucu tarafından tanınan Genel erişim belirteci kimlik bilgilerini girin. Ardından Bağlan'ı seçin.

    GitHub Kişisel Erişim Jetonu ile oturum açma ekran görüntüsü.

GitHub kimlik bilgileriyle Azure DevOps Server bağlanma

  1. GitHub Enterprise sunucunuzun URL'sini ve bu sunucu tarafından tanınan yönetici hesabı kimlik bilgilerini girin. Ardından Bağlan'ı seçin.

    GitHub kimlik bilgileri ile oturum açma ekran görüntüsü.

  2. İletişim kutusunda, GitHub yönetim haklarına sahip olduğunuz tüm depolar listelenir. Başkalarının görünüp görünmediğini kontrol etmek için Benimki ve Tümü arasında geçiş yapabilir ve ardından eklemek istediklerinizi işaretleyebilirsiniz. İşiniz bittiğinde Kaydet'i seçin.

    Eklenecek depoların ekran görüntüsü.

  3. Azure Boards'dan bir GitHub hesabına veya kuruluşuna ilk kez bağlanmak için GitHub için Azure Boards uygulamasını da yüklersiniz. Bağlantıyı onaylama bölümünde açıklanan yordamları izleyerek tümleştirmeyi tamamlayın.

Bağlantı sorunlarını çözme

Azure Boards-GitHub tümleştirmesi, bağlantıyı desteklemek için çeşitli kimlik doğrulama protokollerine dayanır. Kullanıcının izin kapsamı veya kimlik doğrulaması kimlik bilgilerindeki değişiklikler, Azure Boards bağlı GitHub depolarının iptal edilmesine neden olabilir.

GitHub için Azure Boards uygulamasının desteklediği tümleştirmeye genel bakış için bkz. Azure Boards-GitHub integration.

GitHub Azure Boards bağlantısının artık erişimi olmadığında, kullanıcı arabiriminde red-X ile bir uyarı durumu gösterir. Uyarının üzerine gelindiğinde, kimlik bilgilerinin artık geçerli olmadığını belirtir. Sorunu düzeltmek için bağlantıyı kaldırın ve yeni bir bağlantı oluşturun.

Başarısız bağlantının ekran görüntüsü.

Aşağıdaki kararları değerlendirin:

  • Bağlantı OAuth kullanıyorsa:

    • Azure Boards uygulamasının depolardan biri için erişimi reddedildi.

    • GitHub kullanılamıyor/ulaşılamıyor olabilir. Bu kullanılamazlık, hizmette veya şirket içinde bir altyapı/ağ sorunu nedeniyle olabilir. Hizmet durumunu aşağıdaki bağlantılardan de kontrol edebilirsiniz:

      GitHub deposu bağlantısını silin ve yeniden oluşturun. Bu yeniden oluşturulan bağlantı, GitHub'ın Azure Boards için yeniden kimlik doğrulaması istemesine neden olur.

  • Eğer bağlantı bir GitHub PAT kullanıyorsa:

    • GitHub PAT iptal edildi veya gerekli izin kapsamları değişti ve yetersiz.

    • Kullanıcı GitHub deposundaki yönetici izinlerini kaybetmiş olabilir.

      GitHub PAT'yi yeniden oluşturun ve belirtecin kapsamının gerekli izinleri içerdiğinden emin olun: repo, read:user, user:email, admin:repo_hook.

Belirli iş öğesi türleri için XML tanımlarını güncelleştirme

Kuruluşunuz Barındırılan XML veya şirket içi XML işlem modelini kullanarak iş izlemeyi özelleştirirse ve GitHub bağlantı türlerini iş öğesi formlarının Geliştirme bölümüyle tümleştirmek istiyorsa, ilgili iş öğesi türleri için XML tanımlarını güncelleştirmeniz gerekir.

Örneğin, iş öğesi formlarının Development bölümündeki kullanıcı hikayelerini ve hatalarını GitHub işlemelere ve çekme isteklerine bağlamak için, bu iş öğesi türlerinin XML tanımlarını güncelleştirmeniz gerekir.

XML tanımlarını değiştirmek için Barındırılan XML işlem modeli bölümünde açıklanan adımları uygulayın. Her iş öğesi türü için:

  1. Group Label="Development" Bölümünü bulun.
  2. Dış bağlantı türlerini desteklemek için GitHub Commit ve GitHub Çekme İsteği aşağıdaki kod satırlarını ekleyin:

Bu tümleştirme, GitHub etkinliklerinin doğrudan Azure Boards iş öğelerinizden sorunsuz bir şekilde izlenmesini sağlar.

             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  

Güncelleştirildiğinde, bölüm aşağıdaki gibi görünmelidir.

<Group Label="Development">  
   <Control Type="LinksControl" Name="Development">  
      <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">  
         <ListViewOptions GroupLinks="false">   
         </ListViewOptions>  
         <LinkFilters>  
             <ExternalLinkFilter Type="Build" />  
             <ExternalLinkFilter Type="Integrated in build" />  
             <ExternalLinkFilter Type="Pull Request" />  
             <ExternalLinkFilter Type="Branch" />  
             <ExternalLinkFilter Type="Fixed in Commit" />  
             <ExternalLinkFilter Type="Fixed in Changeset" />  
             <ExternalLinkFilter Type="Source Code File" />  
             <ExternalLinkFilter Type="Found in build" />  
             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  
         </LinkFilters>  
      </LinksControlOptions>  
   </Control>  
</Group>  

Sonraki Adımlar