Menyambungkan Azure DevOps Server ke GitHub (lokal)

Azure DevOps Server | Azure DevOps Server 2022

Saat Anda menyambungkan proyek Azure DevOps Server ke repositori GitHub Anda, Anda mendukung penautan antara commit dan permintaan tarik (pull request) GitHub ke item kerja. Anda dapat menggunakan GitHub untuk pengembangan perangkat lunak saat menggunakan Azure Boards untuk merencanakan dan melacak pekerjaan Anda.

Note

Azure DevOps Server mendukung integrasi dengan repositori GitHub.com dan GitHub Enterprise Server. Untuk menyambungkan dari Azure DevOps Services, lihat Koneksikan Azure Boards ke GitHub.

Prerequisites

Category Requirements
Permissions - Anggota grup Administrators Koleksi Proyek dan grup Kontributor proyek . Jika Anda membuat proyek, maka Anda memiliki izin.
- Administrator dari GitHub Enterprise Server yang Anda sambungkan.
Keanggotaan proyek anggota proyek.
Integrasi dengan GitHub - Azure DevOps Server 2020.1.1 Patch 2. Tanpa patch ini, Anda hanya dapat tersambung ke repositori Enterprise Server GitHub Anda.
aplikasi - Azure Boards untuk GitHub diinstal pada organisasi atau akun GitHub.

Opsi autentikasi

Opsi autentikasi berikut ini didukung:

Note

OAuth tidak didukung untuk Azure DevOps Server 2020.

Menyambungkan Azure DevOps Server ke GitHub Enterprise Server

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

  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 tersambung ke repositori Perusahaan GitHub Anda.

  3. Pilih Pengaturan Proyek>Koneksi GitHub.

    Screenshot dari pengaturan proyek yang terbuka, koneksi GitHub.

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

    Screenshot pertama kali terhubung dengan kredensial GitHub.

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

Menyambungkan Azure DevOps Server dengan Token Akses Pribadi GitHub

  1. Untuk membuat PAT GitHub, lihat Buat PAT GitHub.

    Tip

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

  2. Masukkan URL untuk server Enterprise GitHub Anda dan token akses Personal yang dikenali oleh server tersebut. Lalu pilih Sambungkan.

    Screenshot dengan masuk menggunakan GitHub PAT.

Menyambungkan Azure DevOps Server dengan kredensial GitHub

  1. Masukkan URL untuk server perusahaan GitHub Anda dan kredensial akun administrator yang dikenali oleh server tersebut. Lalu pilih Sambungkan.

    Screenshot dari tampilan masuk dengan kredensial GitHub.

  2. Dialog mencantumkan semua repositori tempat Anda memiliki hak administrasi GitHub. Anda dapat beralih antara Milik Saya dan Semua untuk melihat apakah ada orang lain yang muncul, lalu memilih yang ingin Anda tambahkan. Pilih Simpan saat Anda selesai.

    Cuplikan layar repositori untuk dipilih untuk ditambahkan.

  3. Untuk menyambungkan ke akun atau organisasi GitHub 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 tersambung ke Azure Boards.

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

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

Cuplikan layar koneksi yang gagal.

Pertimbangkan resolusi berikut:

  • Jika koneksi menggunakan OAuth:

    • Aplikasi Azure Boards ditolak aksesnya ke 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 GitHub PAT:

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

    • Pengguna mungkin kehilangan izin administratif pada repositori GitHub.

      Buat ulang PAT GitHub 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 mengkustomisasi pelacakan kerja menggunakan model proses XML yang Dihosting atau XML lokal dan ingin mengintegrasikan jenis tautan GitHub ke bagian Pengembangan formulir item kerja, Anda harus memperbarui definisi XML untuk jenis item kerja yang sesuai.

Misalnya, untuk menautkan cerita pengguna dan bug ke commit dan permintaan tarik di GitHub dalam bagian Development formulir item kerja, Anda harus memperbarui definisi XML untuk jenis item kerja ini.

Untuk mengubah definisi XML, lakukan langkah-langkah yang diuraikan dalam model proses XML yang dihosting. Untuk setiap jenis item kerja:

  1. Temukan bagian Group Label="Development".
  2. Untuk mendukung jenis tautan eksternal, GitHub Commit dan GitHub Pull Request, tambahkan baris kode berikut:

Integrasi ini memungkinkan pelacakan aktivitas GitHub yang lancar langsung dari item kerja Anda di Azure Boards.

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