Azure Boards'u GitHub'a bağlama (bulut)

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ğlayın.

Not

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

Önkoşullar

  • Proje gereksinimleri: Azure DevOps projesine sahip olun. Projeniz yoksa bir proje oluşturun.

  • İzinler:

    • Proje Yöneticileri grubunun üyesi olun. Projeyi oluşturduysanız, izinleriniz vardır.
    • Bağlanılacak GitHub deposunun yöneticisi veya sahibi olun. 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

Not

GitHub'ı pat ile bağlamayı seçerseniz GitHub hesabınızda PAT için çoklu oturum açmayı (SSO) yapılandırın. Bu yapılandırma, Güvenlik Onaylama İşaretleme Dili (SAML) SSO kimlik doğrulamasının etkinleştirildiği bir kuruluştan depoların listesini almak için gereklidir.

Azure Boards'u bir GitHub deposuna bağlayın.

  1. Projenizde (https://dev.azure.com/{Your_Organization/Your_Project}) oturum açın.

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

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

  3. Projeden ilk kez bağlanıyorsanız GitHub hesabınızın kimlik bilgilerini kullanmak için GitHub hesabınızı bağlayın'ı seçin.

    GitHub kimlik bilgileriyle ilk kez bağlanma işleminin 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 hesabınızla bağlandığınızda, kimlik doğrulaması yapmak için GitHub 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çın. 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ı Zaten Azure Boards'a bağlıysa aşağıdaki iletiyi görürsünüz:

    Bağlanacak başka deponun olmadığı iletinin ekran görüntüsü.

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

GitHub depoları ekleme

Kimlik doğrulamasından geçtikten sonra, bağlanmak istediğiniz depoları seçebilirsiniz.

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

    GitHub depolarını gösteren ekran görüntüsü.

    İpucu

    Beklenmeyen AB# bahsetme bağlamasını önlemek için, gitHub deposunu tek bir Azure DevOps kuruluşundaki projelere bağlamanızı öneririz. Aynı GitHub deposunu birden çok Azure DevOps kuruluşundaki projelere bağlamak sorunlara neden olabilir. 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:

    Bağlanacak başka deponun olmadığı iletinin ekran görüntüsü.

  2. Seçimlerinizi yaptıktan sonra 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.

    GitHub depolarını onaylamayı gösteren ekran görüntüsü.

  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.

Bağlı depoların listesinin ekran görüntüsü.

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. PAT kullanmanız gerekiyorsa aşağıdaki adımları uygulayın.

İpucu

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.

    Kişisel Erişim Belirteci'ni seçerek Yeni GitHub bağlantısı iletişim kutusunun ekran görüntüsü.

    GitHub PAT oluşturmak için GitHub Geliştirici Ayarları > Kişisel erişim belirteçleri'ne gidin.

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

    Girilen PAT'i gösteren ekran görüntüsü.

  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ı yükleyin. 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 kullanmak için önce uygulamayı OAuth Uygulaması olarak kaydedin. 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.

    GitHub Enterprise sunucusu için oturum açma ekran görüntüsü.

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

    Yeni OAuth Uygulamasının sırasını gösteren ekran görüntüsü.

  3. Kayıt bilgilerini 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

    Kaydedilecek uygulamayı gösteren ekran görüntüsü.

  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.

    Kayıtlı OAuth uygulaması için İstemci Kimliği ve İstemci Gizli Anahtarı'nın ekran görüntüsü.

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.

    Kuruluş Ayarlarını Aç, OAuth yapılandırmalarının ekran görüntüsü.

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

    OAuth yapılandırmaları iletişim kutusu.

Azure DevOps Services'i GitHub Enterprise Server'a bağlama

Önemli

Azure DevOps Services'ı GitHub Enterprise Server'ınıza bağlamak için GitHub Enterprise Server'ınıza İnternet'ten erişilebilir olduğundan emin olun. Azure DNS'nin GitHub Enterprise Server adınızı çözümleyebildiğini 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ı için sık karşılaşılan bir hata iletisi:

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

Bu hatayla karşılaşırsanız sunucunuzun erişilebilirliğini 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.

    İlk bağlantı olarak GitHub Enterprise Server'ı seçin.

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

    Yeni GitHub bağlantısı iletişim kutusunun ekran görüntüsü, GitHub Enterprise Server'ı seçin.

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

    Kimlik doğrulama yöntemi iletişim kutusunu gösteren ekran görüntüsü.

    OAuth ile bağlanma

    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.

    Yeni GitHub Enterprise bağlantısı, OAuth bağlantısı iletişim kutusunun ekran görüntüsü.

    Kişisel Erişim Belirteci ile bağlanma

    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.

    Yeni GitHub Enterprise bağlantısı, Kişisel erişim belirteci bağlantı iletişim kutusunun ekran görüntüsü.

    Kullanıcı Adı ve Parola ile bağlanma

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

    Yeni GitHub Enterprise bağlantı ekranı, Kullanıcı Adı bağlantısı iletişim kutusunun ekran görüntüsü.

  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.

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

    İpucu

    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ı korumak için çeşitli kimlik doğrulama protokollerini kullanır. Kullanıcının izin kapsamı veya kimlik doğrulaması kimlik bilgilerindeki değişiklikler, Azure Boards'a bağlı GitHub depolarını iptal edebilir.

GitHub için Azure Boards uygulaması tarafından desteklenen tümleştirmeye genel bakış için bkz . Azure Boards-GitHub tümleştirmesi.

Desteklenen kimlik doğrulama seçenekleri

Aşağıdaki desteklenen kimlik doğrulama seçenekleri, bağlandığınız GitHub platformuna bağlıdır:

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

Uygulanamaz

  • PAT
  • Kullanıcı adı ve parola

Azure DevOps Server 2019

Uygulanamaz

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

Not

GitHub için Azure Boards uygulamasıyla Azure Boards ve Azure DevOps Services, GitHub.com ve GitHub Enterprise Server depolarıyla tümleştirilir. 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ında profil menünüzü kullanarak Ayarlar'ı açın.
    Açık profilin ekran görüntüsü, Ayarlar'ı seçin.

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

  3. Kuruluş erişimi'nin altında, görünebilecek 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.

    Erişimi olmayan kuruluşlarla Kuruluş erişiminin ekran görüntüsü.

Erişim sorunlarını çözme

GitHub'a Azure Boards bağlantısı erişimi kaybettiğinde kullanıcı arabiriminde red-X ile bir uyarı durumu görüntülenir. Kimlik bilgilerinin artık geçerli olmadığını görmek için uyarının üzerine gelin. 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ü.

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ının GitHub deposunda yönetici izinleri olmayabilir.

      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ş yaparsanız, mevcut bağlantınız beklendiği gibi çalışmayabilir. GitHub ile ilişkilendirilmiş geri çağırma URL'si artık geçerli olmadığından GitHub'daki iş öğesi bahsetmeleri gecikebilir veya Azure DevOps Services'te hiç gösterilmeyebilir. 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'tan bağlanma belgelerinde sağlanan 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 kuruluş URL'sine işaret ederek 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ğlanma

GitHub deponuzu dev.azure.com/Contoso ve dev.azure.com/Fabrikam gibi birden çok Azure DevOps kuruluşundaki projelere bağlamak, AB# bahsetmelerinde beklenmeyen sonuçlara neden olabilir. İş öğesi kimlikleri Azure DevOps kuruluşlarında benzersiz olmadığından, AB#12 Contoso veya Fabrikam'daki bir iş öğesine başvurabilir. İşleme iletisinde veya çekme isteğinde iş öğesinden bahsedildiğinde, her iki kuruluş da eşleşen kimlikle bir iş öğesine bağlanmayı deneyerek karışıklığa neden olabilir.

Bu sorunu önlemek için tek bir GitHub deposunu tek bir Azure DevOps kuruluşuna bağlayın.

Not

GitHub için Azure Boards uygulamasını kullanarak bağlandığınızda, uygulama birden çok kuruluşa yönelik bağlantıları engeller. GitHub deposu yanlış Azure DevOps kuruluşuna bağlıysa, depoyu doğru Azure DevOps kuruluşuna eklemeden önce bağlantıyı kaldırmak için bu kuruluşun sahibine başvurun.

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 iş öğesi türlerinin XML tanımlarını güncelleştirin ve iş öğesi formlarındaki Geliştirme bölümünden GitHub bağlantı türlerine bağlanın ve görüntüleyin.

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

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ü bulun Group Label="Development" ve dış bağlantı türlerini desteklemek için kod söz dizimine şu iki satırı ekleyin: GitHub Commit ve GitHub Çekme İsteği.

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

Güncelleştirmeden sonra 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>  

SSS

S: Azure DevOps'taki kullanıcılarımdan bazılarının GitHub kimlikleri var. Bunları kuruluşuma yeni GitHub kullanıcıları olarak eklemem gerekiyor mu?

Y: Hayır. Kullanıcılarınızdan oturumu kapatmalarını ve ardından yeni bir tarayıcı oturumundan GitHub kimlik bilgileriyle kuruluşta yeniden oturum açmalarını isteyin. Bu eylem GitHub kimliklerini oluşturur.

S: Kuruluş Yöneticisiyim ve GitHub kullanıcılarını davet etme ilkesini etkinleştirdim. Neden yeni GitHub kullanıcılarını davet edemiyoruz?

Y: Ayarı değiştirdikten sonra Azure DevOps oturumunu kapatın ve yeni bir tarayıcı oturumundan GitHub kimlik bilgilerinizle kuruluşta (dev.azure.com/{organizationName} veya organizationName.visualstudio.com) yeniden oturum açın.

S: GitHub kimlik bilgilerimle oturum açtım, ancak GitHub kullanıcılarını neden davet edemiyorum?

Y: Yalnızca kuruluş veya proje Yöneticileri yeni kullanıcıları kuruluşa katılmaya davet edebilir. Yeni kullanıcı eklemek için gerekli izinlere sahip olmayabilirsiniz. Gerekli izinleri almak için yöneticinizle birlikte çalışın veya kullanıcıyı sizin yerinize eklemesini isteyin.

Sonraki adımlar