Koneksi Azure DevOps Server ke GitHub (lokal)

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

Saat Menyambungkan proyek Azure DevOps Server ke repositori GitHub, Anda mendukung penautan antara penerapan GitHub dan permintaan pull ke item kerja. Anda dapat menggunakan GitHub untuk pengembangan perangkat lunak saat menggunakan Azure Boards untuk merencanakan dan melacak pekerjaan Anda.

Catatan

Azure DevOps Server 2020 lokal mendukung integrasi dengan repositori GitHub.com dan GitHub Enterprise Server. Jika Anda ingin tersambung dari Azure DevOps Services, lihat Koneksi Azure Boards ke GitHub.

Saat Anda menyambungkan proyek Azure DevOps Server dengan repositori GitHub Enterprise Server, Anda mendukung penautan antara penerapan GitHub dan permintaan pull ke item kerja. Anda dapat menggunakan GitHub Enterprise untuk pengembangan perangkat lunak saat menggunakan Azure Boards untuk merencanakan dan melacak pekerjaan Anda.

Catatan

Azure DevOps Server 2019 lokal mendukung integrasi dengan repositori GitHub Enterprise Server. Jika Anda ingin tersambung dari Azure DevOps Services, lihat Koneksi Azure Boards ke GitHub.

Prasyarat

  • Koneksi ke repositori GitHub.com dengan menginstal Azure DevOps Server 2020.1.1 Patch 2. Tanpa patch ini, Anda hanya dapat terhubung ke repositori GitHub Enterprise Server Anda.
  • Instal aplikasi Azure Boards untuk GitHub di organisasi atau akun GitHub.
  • Koneksi ke proyek Azure Boards atau Azure DevOps. Jika Anda belum memiliki proyek, buat proyek.
  • Anda harus menjadi anggota grup Administrator Koleksi Proyek dan grup Kontributor proyek. Jika Anda membuat proyek, maka Anda memiliki izin.
  • Anda harus menjadi administrator GitHub Enterprise Server yang Anda sambungkan.

Opsi autentikasi

Opsi autentikasi berikut ini didukung.

Catatan

OAuth tidak didukung untuk Azure DevOps Server 2020.

Mendaftarkan Azure DevOps di GitHub sebagai Aplikasi OAuth

Jika Anda berencana menggunakan OAuth untuk menyambungkan Azure DevOps Server dengan GitHub Enterprise Server, Anda harus terlebih dahulu mendaftarkan aplikasi sebagai Aplikasi OAuth. Untuk informasi selengkapnya, lihat Membuat Aplikasi OAuth.

Mendaftarkan Azure DevOps Server

  1. Masuk ke portal web untuk server GitHub Enterprise Anda.

    Screenshot of sign in for GitHub Enterprise Server.

  2. Pilih Pengaturan> Pengatelan>penyebaran Aplikasi Oauth Baru Aplikasi> OAuth Baru.

    Screenshot showing sequence for getting to New OAuth App screen.

  3. Masukkan informasi Anda untuk mendaftarkan aplikasi Azure DevOps Server Anda.

    Screenshot of Azure DevOps Server project registration.

    Untuk URL Beranda, tentukan URL Publik koleksi proyek Anda. Anda dapat menemukan URL ini saat membuka Konsol Administrasi Azure DevOps dan melihat simpul Tingkat Aplikasi.

    Screenshot of Azure DevOps Server Administration Console, Application Tier.

    Untuk URL panggilan balik Otorisasi, gunakan pola berikut untuk membuat URL.

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

    Misalnya:

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

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

  4. Pilih Daftar aplikasi.

  5. Halaman muncul yang menyediakan ID Klien dan Rahasia Klien untuk aplikasi OAuth terdaftar Anda.

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

Mendaftarkan konfigurasi OAuth Anda di Azure DevOps Server

  1. Masuk ke portal web untuk Azure DevOps Server Anda.

  2. Tambahkan konfigurasi GitHub Enterprise Oauth ke koleksi Azure DevOps Server Anda.

  3. Pilih Pengaturan>admin konfigurasi>Oauth Tambahkan konfigurasi Oauth.

    Screenshot showing step sequence to add OAuth configuration.

  4. Masukkan informasi Anda, lalu pilih Buat.

    Screenshot of OAuth configuration dialog.

Koneksi Server Azure DevOps ke GitHub Enterprise Server

Anda dapat menyambungkan hingga 250 repositori GitHub ke proyek Azure Boards.

Catatan

Koneksi ke lebih dari 100 repositori GitHub memerlukan pembaruan Azure DevOps Server 2020.1 atau versi yang lebih baru.
Koneksi ke repositori GitHub.com memerlukan Azure DevOps Server 2020.1.1 Patch 2 atau versi yang lebih baru.

Anda dapat menyambungkan hingga 100 repositori GitHub ke proyek Azure Boards. Batas ini tidak dapat diubah.

  1. Buka portal web untuk Azure DevOps Server Anda.

  2. Pilih logo Azure DevOps untuk membuka Proyek, lalu pilih proyek Azure Boards yang ingin Anda konfigurasi untuk menyambungkan ke repositori GitHub Enterprise Anda.

  1. Pilih Pengaturan proyek>Koneksi GitHub.

    Screenshot of open Project Settings>GitHub connections.

  2. Jika ini pertama kalinya membuat koneksi dari proyek, pilih metode autentikasi yang ingin Anda gunakan untuk membuat koneksi:

    Screenshot of first time connecting with GitHub credentials.

    Jika tidak, pilih Koneksi baru, dan pilih metode autentikasi Anda dari dialog Koneksi ion baru.

  1. Pilih Pengaturan>proyek Koneksi> GitHub Koneksi akun GitHub Enterprise Anda.

    Screenshot of Project settings, selected Integrations.

    Atau, pilih token akses pribadi atau nama pengguna dan kata sandi, jika Anda menggunakan kredensial tersebut.

Koneksi dengan OAuth

Pilih konfigurasi yang Anda siapkan di Langkah 4 dari Daftarkan konfigurasi OAuth Anda di Azure DevOps Server. Lalu, pilih Sambungkan.

Screenshot fo New GitHub Enterprise connection, OAuth dialog.

Koneksi dengan Token Akses Pribadi

  1. Untuk membuat PAT, lihat Membuat token akses pribadi.

    Tip

    Saat Anda membuat GitHub PAT, pastikan Anda menyertakan cakupan ini: repo, admin:repo_hook, read:user, user:email.

  2. Masukkan URL untuk server GitHub Enterprise Anda dan kredensial token akses pribadi yang dikenali oleh server tersebut. Lalu pilih Koneksi.

Screenshot of sign in with PAT.

Koneksi dengan nama pengguna dan kata sandi

  1. Masukkan URL untuk server GitHub Enterprise Anda dan info masuk akun administrator yang dikenali oleh server tersebut. Lalu pilih Koneksi.

Screenshot of sign in with username and password.

  1. Dialog mencantumkan semua repositori tempat Anda memiliki hak administrasi GitHub. Anda dapat beralih antara Tambang dan Semua untuk menentukan apakah orang lain muncul, lalu memeriksa yang ingin Anda tambahkan. Pilih Simpan saat Anda selesai.

    Screenshot of repositories to select to add.

  2. Untuk menyambungkan ke akun gitHub atau organisasi dari Azure Boards untuk pertama kalinya, Anda juga menginstal aplikasi Azure Boards untuk GitHub. Selesaikan integrasi dengan mengikuti prosedur yang diuraikan dalam Mengonfirmasi koneksi.

Mengatasi masalah koneksi

Integrasi Azure Boards-GitHub bergantung pada berbagai protokol autentikasi untuk mendukung koneksi. Perubahan pada cakupan izin pengguna atau kredensial autentikasi dapat menyebabkan pencabutan repositori GitHub yang terhubung ke Azure Boards.

Untuk gambaran umum integrasi yang didukung aplikasi Azure Boards untuk GitHub, lihat Integrasi Azure Boards-GitHub.

Opsi autentikasi yang didukung

Opsi autentikasi berikut didukung berdasarkan platform GitHub yang ingin Anda sambungkan.

Platform

GitHub.com

GitHub Enterprise Server

Azure DevOps

  • GitHub.com akun pengguna
  • Token akses pribadi (PAT)
  • OAuth
  • PAT
  • Nama pengguna ditambah kata sandi

Azure DevOps Server 2020

Tidak berlaku

  • PAT
  • Nama pengguna ditambah kata sandi

Azure DevOps Server 2019

Tidak berlaku

  • OAuth
  • PAT
  • Nama pengguna ditambah kata sandi

Catatan

Dengan aplikasi Azure Boards untuk GitHub, Azure Boards dan Azure DevOps Services mendukung integrasi dengan repositori GitHub.com dan GitHub Enterprise Server. Azure DevOps Servers 2019 dan versi yang lebih baru hanya mendukung integrasi dengan repositori GitHub Enterprise Server. Integrasi dengan repositori Git lainnya tidak didukung.

Mengatasi masalah akses

Ketika koneksi Azure Boards ke GitHub tidak lagi memiliki akses, itu menunjukkan status pemberitahuan di antarmuka pengguna dengan red-X. Arahkan mouse ke atas pemberitahuan dan menunjukkan bahwa kredensial tidak lagi valid. Untuk memperbaiki masalah, hapus koneksi dan buat ulang koneksi baru.

Screenshot of failed connection.

Ketika koneksi Azure Boards ke GitHub tidak lagi memiliki akses, itu menunjukkan status pemberitahuan di antarmuka pengguna dengan red-X yang memiliki tipsalat seperti, Tidak dapat terhubung ke GitHub.

Pertimbangkan resolusi berikut:

  • Jika koneksi menggunakan OAuth:

    • Aplikasi Azure Boards memiliki aksesnya ditolak untuk salah satu repositori.

    • GitHub mungkin tidak tersedia/tidak dapat dijangkau. Ketidaktersebaran ini bisa disebabkan oleh pemadaman baik di layanan atau masalah infrastruktur/jaringan lokal. Anda dapat memeriksa status layanan dari tautan berikut:

      Hapus dan buat ulang koneksi ke repositori GitHub. Koneksi yang dibuat ulang ini menyebabkan GitHub meminta untuk mengotorisasi ulang Azure Boards.

  • Jika koneksi menggunakan PAT:

    • PAT mungkin telah dicabut atau cakupan izin yang diperlukan berubah dan tidak mencukupi.

    • Pengguna mungkin kehilangan izin admin pada repositori GitHub.

      Buat ulang PAT dan pastikan cakupan untuk token menyertakan izin yang diperlukan: repo, read:user, user:email, admin:repo_hook.

Memperbarui definisi XML untuk memilih jenis item kerja

Jika organisasi Anda menggunakan xml yang dihosting atau model proses XML lokal untuk menyesuaikan pengalaman pelacakan kerja, dan Anda ingin menautkan ke dan menampilkan jenis tautan GitHub dari bagian Pengembangan dalam formulir item kerja, Anda harus memperbarui definisi XML untuk jenis item kerja.

Misalnya, jika Anda ingin menautkan cerita pengguna dan bug ke GitHub menerapkan dan menarik permintaan dari bagian Pengembangan , Anda perlu memperbarui definisi XML untuk cerita pengguna dan bug.

Ikuti urutan tugas yang disediakan dalam model proses XML yang dihosting untuk memperbarui definisi XML. Untuk setiap jenis item kerja, temukan Group Label="Development" bagian , dan tambahkan dua baris berikut dalam sintaks kode berikut untuk mendukung jenis tautan eksternal: GitHub Commit dan GitHub Pull Request.

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

Saat diperbarui, bagian akan muncul sebagai berikut.

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

Langkah berikutnya