Azure Boards'ı GitHub'a (bulut) Bağlan

Azure DevOps Services

Çalışmanızı planlamak ve izlemek için yazılım geliştirme ve Azure Boards projeniz için GitHub.com depoları kullanın. GitHub işleme ve çekme isteklerinizin Azure Boards'taki iş öğelerinize bağlanması için projenizi ve deponuzu Bağlan.

Dekont

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

Önkoşullar

  • Azure Boards veya Azure DevOps projeniz olmalıdır. Henüz bir projeniz yoksa bir proje oluşturun.
  • Project Yönetici istrators grubunun üyesi olmanız gerekir. Projeyi oluşturduysanız, izinleriniz vardır.
  • Bağlanmak için GitHub deposunun yöneticisi veya sahibi olmanız gerekir. Bu depoların yöneticisi olduğunuz sürece birden çok GitHub deposuna bağlanabilirsiniz.

Kimlik doğrulaması seçenekleri

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

GitHub.com

GitHub Enterprise Server

Dekont

Github'ı PAT ile bağlamayı seçerseniz GitHub hesabınızda PAT için çoklu oturum açmayı (SSO) yapılandırdığınızdan emin olun. Güvenlik Onay İşaretleme Dili (SAML) SSO kimlik doğrulaması yapılandırılmış bir kuruluşun depolarının listesini alabilmek için bu gereklidir.

Azure Boards'ı bir GitHub deposuna Bağlan.

  1. Azure DevOps projenizde oturum açın.

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

    Screenshot of open Project Settings>GitHub connections.

  3. Projeden ilk kez bağlantı yapıyorsanız GitHub hesabınızın kimlik bilgilerini kullanmak için GitHub hesabınızı Bağlan 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.

    GitHub hesabınızı kullanarak bağlandığınızda, kimlik doğrulaması için GitHub hesabı kimlik bilgilerinizi kullanın. PAT kullanmak için bkz . PAT kullanarak GitHub bağlantısı ekleme. GitHub Enterprise Server'a bağlanmak için bkz . Azure DevOps'u GitHub'a OAuth Uygulaması olarak kaydetme.

GitHub kimlik bilgileriyle GitHub bağlantısı ekleme

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

  1. Azure Boards'tan GitHub'a ilk kez bağlanıyorsanız GitHub kimlik bilgilerinizi kullanarak oturum açmanız istenir. Depo yöneticisi olduğunuz bir hesap seçin.

  2. Bağlanmak istediğiniz GitHub hesabını veya kuruluşunu seçin. Yalnızca sahibi olduğunuz veya yöneticisi olduğunuz kuruluşlar listelenir.

    Bir kuruluşun tüm depoları Azure Boards'a zaten bağlıysa aşağıdaki iletiyi görürsünüz.

    Screenshot of message where no more repositories exist to connect.

  3. GitHub kimlik bilgilerinizi girin. İki öğeli kimlik doğrulamasını etkinleştirdiyseniz GitHub'ın size gönderdiği kimlik doğrulama kodunu girin ve Doğrula'yı seçin. Aksi takdirde, GitHub hesabınız daha önce Azure DevOps Services hesabınızla ilişkilendirildiği için sistem GitHub kuruluşunuzu otomatik olarak tanır.

Depoları seçin

Kimliğiniz doğrulandıktan sonra, bağlanmak istediğiniz depoları seçebilirsiniz.

  1. GitHub Depoları Ekle iletişim kutusu, seçtiğiniz kuruluşun yöneticisi olduğunuz tüm GitHub.com depoları otomatik olarak görüntüler ve seçer. Tümleştirmeye katılmak istemediğiniz depoların seçimini kaldırın.

    Screenshot showing GitHub repos.

    Bahşiş

    GitHub deposunu yalnızca tek bir Azure DevOps kuruluşunda tanımlanan projelere bağlamanızı öneririz. aynı GitHub deposunu iki veya daha fazla Azure DevOps kuruluşunda tanımlanan projelere Bağlan beklenmeyen durumlara yol açabilirAB# bahsetme bağlama. Daha fazla bilgi için bkz . GitHub ve Azure Boards tümleştirme sorunlarını giderme.

    Tüm depolar zaten geçerli veya başka bir kuruluşa bağlıysa aşağıdaki ileti görüntülenir.

    Screenshot of message where no more repositories exist to connect.

  2. Bitirdiğinizde, Kaydet'i seçin.

Bağlantıyı onaylayın

  1. Görüntülenen GitHub sayfasını gözden geçirin ve onayla, Yükle ve Yetkilendir'i seçin.

    Screenshot showing confirming GitHub repositories.

  2. Onaylamak için GitHub parolanızı girin.

  3. İşiniz bittiğinde, seçilen depolarla yeni bağlantının listelendiğini görmeniz gerekir.

Screenshot of list of connected repositories.

GitHub için Azure Boards uygulamasının yapılandırmasını değiştirmek veya yönetmek için bkz . Azure Boards'a depo erişimini değiştirme.

PAT kullanarak GitHub bağlantısı ekleme

GitHub deponuza bağlanmak için GitHub hesabı kimlik bilgilerinizi kullanmanızı öneririz. Ancak, PAT kullanmanız gerekiyorsa, bu yordamları izleyerek bunu yapın.

Bahşiş

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

  1. Kişisel Erişim Belirteci'ni seçin.

    Screenshot of New GitHub connection dialog, choosing Personal Access Token.

    GitHub PAT oluşturmak için GitHub Developer Ayarlar > Personal erişim belirteçleri'ne gidin.

  2. PAT girin ve Bağlan'yi seçin.

    Screenshot showing entered PAT.

  3. Bu makalenin önceki bölümlerinde yer alan Depoları seçme başlığı altında açıklanan yordamları izleyerek projeye bağlanmak istediğiniz depoları seçin.

  4. Azure Boards'tan bir GitHub hesabına veya kuruluşuna ilk kez bağlanıyorsanız GitHub için Azure Boards uygulamasını da yüklemeniz gerekir. Bu makalenin önceki bölümlerinde bağlantıyı onaylayın.

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

Azure DevOps'u 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 Services'ı 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ı açın.

    Screenshot showing sequence for New OAuth App.

  3. Uygulamanızı kaydetmek için bilgileri girin.

    Giriş sayfası URL'si için kuruluşunuzun Kuruluş URL'sini belirtin.
    Yetkilendirme geri çağırma URL'si için, URL'yi oluşturmak için aşağıdaki deseni kullanın.

    {Azure DevOps Services Organization URL}/_admin/oauth2/callback

    Örneğin:

    https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Screenshot showing app to register.

  4. Uygulamayı kaydet'i seçin.

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

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

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

  1. Azure DevOps Services için web portalında oturum açın.

  2. GitHub Enterprise Oauth yapılandırmasını kuruluşunuza ekleyin.

  3. Kuruluş ayarları'nda Oauth yapılandırmaları>Oauth yapılandırması ekle'yi seçin.

    Screenshot of Open Organization Settings, OAuth configurations.

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

    OAuth configurations dialog.

Azure DevOps Services'i GitHub Enterprise Server'a Bağlan

Önemli

Azure DevOps Services'ı GitHub Enterprise Server'ınıza bağlamak için GitHub Enterprise Server'ınıza İnternet'ten yeterince erişilebilir olması gerekir. Azure DNS'nin GitHub Enterprise Server adınızı çözümleyebildiğinden ve güvenlik duvarınızın Azure Veri Merkezi IP adreslerinden erişime izin verdiğinden emin olun. IP adresi aralığını belirlemek için bkz . Microsoft Azure Veri Merkezi IP Aralıkları. Bağlantı sorunları olduğunda karşılaşılan yaygın bir hata iletisi:

Uzak ad çözümlenemedi: 'github-enterprise-server.contoso.com'

Bu hatayla karşılaşırsanız sunucunuzun erişilebilir olup olmadığını denetleyin. Daha fazla bilgi için bkz . Azure DNS SSS.

  1. İlk kez bağlantı için Proje ayarları>GitHub bağlantıları>GitHub Enterprise Server'ı seçin.

    First connection, choose GitHub Enterprise Server.

    Alternatif olarak, Yeni GitHub bağlantısı iletişim kutusunda GitHub Enterprise Server'ı seçin.

    Screenshot of New GitHub connection dialog, choose GitHub Enterprise Server.

  2. Kimlik doğrulama yöntemini seçin.

    Screenshot showing authentication method dialog.

    OAuth ile Bağlan

    OAuth yapılandırmanızı Azure DevOps Services'e kaydetmenin 4. Adımında ayarladığınız yapılandırmayı seçin ve ardından Bağlan'ı seçin.

    Screenshot of New GitHub Enterprise connection, OAuth connection dialog.

    Kişisel Erişim Belirteci ile Bağlan

    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 New GitHub Enterprise connection, Personal access token connection dialog.

    Kullanıcı Adı ve Parola ile Bağlan

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

    Screenshot of New GitHub Enterprise connection screen, User Name connection dialog.

  3. İ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. Bitirdiğinizde Kaydet'i seçin.

    Screenshot of repositories listed.

    Bahşiş

    Yalnızca bir GitHub kuruluşu altında tanımlanan depolara bağlantı oluşturabilirsiniz. Bir projeyi başka bir GitHub kuruluşunda tanımlanan diğer depolara bağlamak için başka bir bağlantı eklemeniz gerekir.

  4. Azure Boards'tan bir GitHub hesabına veya kuruluşuna ilk kez bağlanıyorsanız GitHub için Azure Boards uygulamasını da yüklersiniz. Bu makalenin önceki bölümlerinde bağlantıyı onaylayı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.

Azure Boards kuruluşuna erişim izni verme

Azure Boards ile GitHub arasındaki tümleştirme beklendiği gibi çalışmıyorsa kuruluşa erişim izni verdiğini doğrulayın.

  1. GitHub web portalından profil menünüzü Ayarlar açın.
    Screenshot of open profile, choose Settings.

  2. Tümleştirmeler>Yetkili OAuth Uygulamaları Azure Boards altında Uygulamalar'ı >seçin.

  3. Kuruluş erişimi'nin altında, oluşabilecek sorunları çözün. Erişim isteği beklemede olarak gösterilen tüm kuruluşlara erişim izni vermek için Ver'i seçin.

    Screenshot of Organization access with organizations without access.

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.

Bu sorunu çözmek için aşağıdaki öğeleri 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.

Bozuk GitHub Enterprise Server bağlantısını çözme

Mevcut GitHub Enterprise Server bağlantısıyla Azure DevOps Server'dan Azure DevOps Services'e geçiş yaptıysanız, mevcut bağlantınız beklendiği gibi çalışmaz. GitHub'daki iş öğesi bahsetmeleri gecikebilir veya Azure DevOps Services'da hiçbir zaman gösterilmeyebilir. GitHub ile ilişkili geri çağırma URL'si artık geçerli olmadığından bu sorun oluşur.

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

  • Bağlantıyı kaldırın ve yeniden oluşturun: GitHub Enterprise Server deposu bağlantısını kaldırın ve yeniden oluşturun. Azure Boards belgelerindeki Bağlan verilen adımların sırasını izleyin.

  • Web kancası url'sini düzeltme: GitHub'ın depo ayarları sayfasına gidin ve geçirilen Azure DevOps Services kuruluş url'sine işaret etmek için web kancası URL'sini düzenleyin: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Birden çok Azure DevOps kuruluşuna Bağlan

GitHub deponuzu dev.azure.com/Contoso ve dev.azure.com/Fabrikam gibi birden fazla Azure DevOps kuruluşunda tanımlanan iki veya daha fazla projeyle bağlarsanız, iş öğelerine bağlanmak için AB# bahsetmelerini kullanırken beklenmeyen sonuçlar alabilirsiniz. Bu sorun, iş öğesi kimliklerinin Azure DevOps kuruluşlarında benzersiz olmadığından oluşur, bu nedenle AB#12 Contoso veya Fabrikam kuruluşundaki bir iş öğesine başvurabilir. Bu nedenle, bir işleme iletisinde veya çekme isteğinde bir iş öğesinden bahsedildiğinde, her iki kuruluş da eşleşen bir kimlikle (varsa) bir iş öğesine bağlantı oluşturmaya çalışır.

Genel olarak, bir kullanıcı projelerden birindeki tek bir iş öğesine bağlanmak için AB# bahsetmesi yapmayı amaçlıyor. Ancak, her iki hesapta da aynı kimlikte bir iş öğesi varsa, her iki iş öğesi için de bağlantılar oluşturulur ve bu da karışıklığa neden olur.

Şu anda bu sorunu geçici olarak çözmenin bir yolu olmadığından, tek bir GitHub deposunu yalnızca tek bir Azure DevOps kuruluşuna bağlamanızı öneririz.

Dekont

GitHub için Azure Boards uygulamasını kullanarak bağlantı kurduğunuzda, uygulama iki farklı kuruluşa bağlanmanızı engeller. GitHub deposu yanlış Azure DevOps kuruluşuna yanlış bağlıysa, depoyu doğru Azure DevOps kuruluşuna ekleyebilmeniz için önce bağlantıyı kaldırmak için söz konusu kuruluşun sahibine başvurmanız gerekir.

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 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