Azure DevOps Server'ı GitHub'a (şirket içi) Bağlan

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Azure DevOps Server projenizi GitHub depolarınıza bağladığınızda, GitHub işlemeleri ile iş öğelerine çekme istekleri arasında bağlantı kurmayı desteklersiniz. Çalışmanızı planlamak ve izlemek için Azure Boards'ı kullanırken yazılım geliştirme için GitHub'ı kullanabilirsiniz.

Dekont

Şirket içi Azure DevOps Server 2020, GitHub.com ve GitHub Enterprise Server depolarıyla tümleştirmeyi destekler. Azure DevOps Services'ten bağlanmak istiyorsanız bkz. Azure Boards'ı GitHub'a Bağlan.

Azure DevOps Server projenizi GitHub Enterprise Server depolarınıza bağladığınızda, GitHub işlemeleri ile çekme istekleri arasında iş öğelerine bağlanmayı desteklersiniz. Çalışmanızı planlamak ve izlemek için Azure Boards'ı kullanırken yazılım geliştirme için GitHub Enterprise'ı kullanabilirsiniz.

Dekont

Şirket içi Azure DevOps Server 2019, GitHub Enterprise Server depolarıyla tümleştirmeyi destekler. Azure DevOps Services'ten bağlanmak istiyorsanız bkz. Azure Boards'ı GitHub'a Bağlan.

Önkoşullar

  • Azure DevOps Server 2020.1.1 Düzeltme Eki 2'yi yükleyerek GitHub.com depolara Bağlan. Bu düzeltme eki olmadan yalnızca GitHub Enterprise Server depolarınıza bağlanabilirsiniz.
  • GitHub için Azure Boards uygulamasını GitHub kuruluşlarına veya hesabına yükleyin.
  • Azure Boards veya Azure DevOps projesine Bağlan. Henüz bir projeniz yoksa bir proje oluşturun.
  • Proje Koleksiyonu Yönetici istrators grubunun ve projenin Katkıda Bulunanlar grubunun üyesi olmanız gerekir. Projeyi oluşturduysanız izinleriniz vardır.
  • Bağlandığınız GitHub Enterprise Server'ın yöneticisi olmanız gerekir.

Kimlik doğrulaması seçenekleri

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

Dekont

OAuth, Azure DevOps Server 2020 için desteklenmez.

GitHub'da Azure DevOps'u OAuth Uygulaması olarak kaydetme

Azure DevOps Server'ı GitHub Enterprise Server'ınıza bağlamak için OAuth kullanmayı planlıyorsanız, önce uygulamayı OAuth Uygulaması olarak kaydetmeniz gerekir. Daha fazla bilgi için bkz . OAuth Uygulaması oluşturma.

Azure DevOps Server'ı kaydetme

  1. GitHub Enterprise sunucunuz için web portalında oturum açın.

    Screenshot of sign in for GitHub Enterprise Server.

  2. Ayarlar> Geliştirici ayarları>Oauth Uygulamaları>Yeni OAuth Uygulaması'nı seçin.

    Screenshot showing sequence for getting to New OAuth App screen.

  3. Azure DevOps Server uygulamanızı kaydetmek için bilgilerinizi girin.

    Screenshot of Azure DevOps Server project registration.

    Giriş sayfası URL'si için proje koleksiyonunuzun Genel URL'sini belirtin. Bu URL'yi, Azure DevOps Yönetici istrasyon Konsolu'nu açıp Uygulama Katmanı düğümünü görüntülerken bulabilirsiniz.

    Screenshot of Azure DevOps Server Administration Console, Application Tier.

    Yetkilendirme geri çağırma URL'si için, URL'yi oluşturmak için aşağıdaki deseni kullanın.

    {Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback

    Örneğin:

    http://contoso/DefaultCollection/_admin/oauth2/callback

    https://tfs.contoso.com/MyCollection/_admin/oauth2/callback

  4. Uygulamayı kaydet'i seçin.

  5. Kayıtlı OAuth uygulamanız için İstemci Kimliği ve İstemci Gizli Anahtarı sağlayan bir sayfa görüntülenir.

    Screenshot of Client ID and Client Secret for your registered OAuth application.

OAuth yapılandırmanızı Azure DevOps Server'a kaydetme

  1. Azure DevOps Server'ınızın web portalında oturum açın.

  2. GitHub Enterprise Oauth yapılandırmasını Azure DevOps Server koleksiyonunuza ekleyin.

  3. Yönetici ayarları>Oauth yapılandırmaları>Oauth yapılandırması ekle'yi seçin.

    Screenshot showing step sequence to add OAuth configuration.

  4. Bilgilerinizi girin ve Oluştur'u seçin.

    Screenshot of OAuth configuration dialog.

Azure DevOps Server'ı GitHub Enterprise Server'a Bağlan

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

Dekont

100'den fazla GitHub deposuna Bağlan için Azure DevOps Server 2020.1 güncelleştirmesi veya sonraki bir sürümü gerekir.
GitHub.com depolarına Bağlan için Azure DevOps Server 2020.1.1 Düzeltme Eki 2 veya sonraki bir sürümü gerekir.

Bir Azure Boards projesine en fazla 100 GitHub deposu bağlayabilirsiniz. Bu sınır değiştirilemez.

  1. Azure DevOps Server'ınızın web portalını açın.

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

  1. Proje ayarları>GitHub bağlantıları'nı seçin.

    Screenshot of open Project Settings>GitHub connections.

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

    Screenshot of first time connecting with GitHub credentials.

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

  1. GitHub Enterprise hesabınızı Bağlan GitHub bağlantıları> proje ayarları'nı>seçin.

    Screenshot of Project settings, selected Integrations.

    Bu kimlik bilgilerini kullanıyorsanız kişisel erişim belirteci veya kullanıcı adı ve parola da seçebilirsiniz.

OAuth ile Bağlan

OAuth yapılandırmanızı Azure DevOps Server'a kaydetme'nin 4. Adımında ayarladığınız yapılandırmayı seçin. Ardından Bağlan'ı seçin.

Screenshot fo New GitHub Enterprise connection, OAuth dialog.

Kişisel Erişim Belirteci ile Bağlan

  1. PAT oluşturmak için bkz . Kişisel erişim belirteci oluşturma.

    Bahşiş

    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 Kişisel erişim belirteci kimlik bilgilerini girin. Ardından Bağlan'ı seçin.

Screenshot of sign in with PAT.

Kullanıcı adı ve parolayla Bağlan

  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.

Screenshot of sign in with username and password.

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

    Screenshot of repositories to select to add.

  2. Azure Boards'tan 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'a 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 tümleştirmesi.

Desteklenen kimlik doğrulama seçenekleri

Aşağıdaki kimlik doğrulama seçenekleri, bağlanmak istediğiniz GitHub platformuna göre desteklenir.

Platform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

  • kullanıcı hesabını GitHub.com
  • Kişisel erişim belirteci (PAT)
  • OAuth
  • PAT
  • Kullanıcı adı ve parola

Azure DevOps Server 2020

Geçerli değil

  • PAT
  • Kullanıcı adı ve parola

Azure DevOps Server 2019

Geçerli değil

  • OAuth
  • PAT
  • Kullanıcı adı ve parola

Dekont

GitHub için Azure Boards uygulamasıyla Azure Boards ve Azure DevOps Services, GitHub.com ve GitHub Enterprise Server depolarıyla tümleştirmeyi destekler. Azure DevOps Server 2019 ve sonraki sürümleri yalnızca GitHub Enterprise Server depolarıyla tümleştirmeyi destekler. Diğer Git depolarıyla tümleştirme desteklenmez.

Erişim sorunlarını çözme

GitHub'a 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 geldiğinizde kimlik bilgilerinin artık geçerli olmadığını gösterir. Sorunu düzeltmek için bağlantıyı kaldırın ve yeni bir bağlantı oluşturun.

Screenshot of failed connection.

GitHub'a Azure Boards bağlantısının artık erişimi olmadığında, kullanıcı arabiriminde red-X içeren ve GitHub'a bağlanılamıyor gibi bir araç ipucuna sahip bir uyarı durumu gösterir.

Aşağıdaki çözümleri göz önünde bulundurun:

  • 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şturulmuş bağlantı GitHub'ın Azure Boards'u yeniden yetkilendirmesini istemesine neden olur.

  • Bağlantı pat kullanıyorsa:

    • PAT iptal edilmiş veya gerekli izin kapsamları değiştirilmiş ve yetersiz olabilir.

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

      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 iş izleme deneyimini özelleştirmek için Barındırılan XML veya şirket içi XML işlem modelini kullanıyorsa ve iş öğesi formlarındaki Geliştirme bölümünden GitHub bağlantı türlerine bağlanmak ve görüntülemek istiyorsanız, iş öğesi türleri için XML tanımlarını güncelleştirmeniz gerekir.

Örneğin, Kullanıcı hikayelerini ve hatalarını Geliştirme bölümünden GitHub işlemelerine ve çekme isteklerine bağlamak istiyorsanız, kullanıcı hikayeleri ve hataları için XML tanımlarını güncelleştirmeniz gerekir.

XML tanımlarını güncelleştirmek için Barındırılan XML işlem modelinde sağlanan görev dizisini izleyin. Her iş öğesi türü için bölümünü bulun Group Label="Development" ve dış bağlantı türlerini desteklemek için aşağıdaki kod söz dizimine şu iki satırı ekleyin: GitHub İşleme ve GitHub Çekme İsteği.

             <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