Koneksi Azure Boards ke GitHub (cloud)

Azure DevOps

Gunakan repositori GitHub.com untuk pengembangan perangkat lunak dan proyek Azure Boards Anda untuk merencanakan dan melacak pekerjaan Anda. Koneksi proyek dan repositori Anda sehingga GitHub Anda menerapkan dan menarik permintaan ditautkan ke item kerja Anda di Azure Boards.

Catatan

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

Prasyarat

  • Anda harus memiliki proyek Azure Boards atau Azure DevOps. Jika Anda belum memiliki proyek, buat proyek.
  • Anda harus menjadi anggota grup Administrator Proyek. Jika Anda membuat proyek, Anda memiliki izin.
  • Anda harus menjadi administrator atau pemilik repositori GitHub untuk tersambung. Anda dapat terhubung ke beberapa repositori GitHub selama Anda adalah administrator untuk repositori tersebut.

Opsi autentikasi

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

GitHub.com

GitHub Enterprise Server

Catatan

Jika Anda memilih untuk menghubungkan Github dengan PAT, pastikan Anda mengonfigurasi akses menyeluruh (SSO) untuk PAT di akun GitHub Anda. Ini diperlukan untuk dapat mendapatkan daftar repositori organisasi dengan autentikasi SSO Security Assertion Markup Language (SAML) yang dikonfigurasi.

Koneksi Azure Boards ke repositori GitHub.

  1. Masuk ke proyek Azure DevOps Anda.

  2. Pilih Pengaturan proyek>Koneksi GitHub.

    Screenshot of open Project Settings>GitHub connections.

  3. Jika ini pertama kalinya Anda membuat koneksi dari proyek, pilih Koneksi akun GitHub Anda untuk menggunakan kredensial akun GitHub Anda.

    Screenshot of first time connecting with GitHub credentials.

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

    Saat Anda terhubung menggunakan akun GitHub, gunakan kredensial akun GitHub Anda untuk mengautentikasi. Untuk menggunakan PAT, lihat Menambahkan koneksi GitHub menggunakan PAT. Untuk menyambungkan ke GitHub Enterprise Server, lihat Mendaftarkan Azure DevOps di GitHub sebagai Aplikasi OAuth.

Menambahkan koneksi GitHub dengan kredensial GitHub

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

  1. Jika ini pertama kalinya Anda menyambungkan ke GitHub dari Azure Boards, Anda diminta untuk masuk menggunakan kredensial GitHub Anda. Pilih akun di mana Anda adalah administrator repositori.

  2. Pilih akun GitHub atau organisasi yang ingin Anda sambungkan. Hanya organisasi yang Anda miliki atau administrator yang terdaftar.

    Jika semua repositori untuk organisasi telah tersambung ke Azure Boards, Anda akan melihat pesan berikut.

    Screenshot of message where no more repositories exist to connect.

  3. Masukkan kredensial GitHub Anda. Jika Anda mengaktifkan autentikasi dua faktor, masukkan kode autentikasi yang dikirim GitHub kepada Anda dan pilih Verifikasi. Jika tidak, sistem secara otomatis mengenali organisasi GitHub Anda karena akun GitHub Anda sebelumnya telah dikaitkan dengan akun Layanan Azure DevOps Anda.

Pilih repositori

Setelah diautentikasi, Anda dapat memilih repositori yang ingin Anda sambungkan.

  1. Dialog Tambahkan Repositori GitHub secara otomatis ditampilkan dan memilih semua repositori GitHub.com tempat Anda menjadi administrator untuk organisasi yang Anda pilih. Batal pilih repositori apa pun yang tidak ingin Anda ikuti dalam integrasi.

    Screenshot showing GitHub repos.

    Tip

    Sebaiknya Anda hanya menyambungkan repositori GitHub ke proyek yang ditentukan dalam satu organisasi Azure DevOps. Koneksi repositori GitHub yang sama ke proyek yang ditentukan dalam dua organisasi Azure DevOps atau lebih dapat menyebabkan hal yang tidak terduga AB# menyebutkan penautan. Untuk informasi selengkapnya, lihat Memecahkan masalah integrasi GitHub & Azure Boards.

    Jika semua repositori sudah tersambung ke organisasi saat ini atau lainnya, maka pesan berikut akan ditampilkan.

    Screenshot of message where no more repositories exist to connect.

  2. Jika sudah selesai, pilih Simpan.

Mengonfirmasi koneksi

  1. Tinjau halaman GitHub yang ditampilkan lalu pilih Setujui, Instal, & Otorisasi.

    Screenshot showing confirming GitHub repositories.

  2. Berikan kata sandi GitHub Anda untuk mengonfirmasi.

  3. Setelah selesai, Anda akan melihat koneksi baru dengan repositori yang dipilih tercantum.

Screenshot of list of connected repositories.

Untuk mengubah konfigurasi atau mengelola aplikasi Azure Boards untuk GitHub, lihat Mengubah akses repositori ke Azure Boards.

Menambahkan koneksi GitHub menggunakan PAT

Kami menyarankan agar Anda menggunakan kredensial akun GitHub Anda untuk terhubung ke repositori GitHub Anda. Namun, jika Anda perlu menggunakan PAT, lakukan dengan mengikuti prosedur ini.

Tip

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

  1. Pilih Token Akses Pribadi.

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

    Untuk membuat PAT GitHub, buka Pengembang GitHub Pengaturan > Token akses pribadi.

  2. Masukkan PAT dan pilih Koneksi.

    Screenshot showing entered PAT.

  3. Pilih repositori yang ingin Anda sambungkan ke proyek dengan mengikuti prosedur yang diuraikan dalam Pilih repositori sebelumnya di artikel ini.

  4. Jika ini pertama kalinya menyambungkan ke akun gitHub atau organisasi dari Azure Boards, Anda juga harus menginstal aplikasi Azure Boards untuk GitHub. Konfirmasikan koneksi sebelumnya di artikel ini.

Mendaftarkan Azure DevOps di GitHub sebagai Aplikasi OAuth

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

Mendaftarkan Layanan Azure DevOps

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

    Screenshot of sign in for GitHub Enterprise server.

  2. Buka pengaturan Pengaturan> Developer>Oauth Apps>Aplikasi OAuth Baru.

    Screenshot showing sequence for New OAuth App.

  3. Masukkan informasi untuk mendaftarkan aplikasi Anda.

    Untuk URL Beranda, tentukan URL Organisasi organisasi Anda.
    Untuk URL panggilan balik Otorisasi, gunakan pola berikut untuk membuat URL.

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

    Misalnya:

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

    Screenshot showing app to register.

  4. Pilih Daftar aplikasi.

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

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

Mendaftarkan konfigurasi OAuth Anda di Azure DevOps Services

  1. Masuk ke portal web untuk Layanan Azure DevOps.

  2. Tambahkan konfigurasi GitHub Enterprise Oauth ke organisasi Anda.

  3. Di Pengaturan organisasi, pilih Konfigurasi>Oauth Tambahkan konfigurasi Oauth.

    Screenshot of Open Organization Settings, OAuth configurations.

  4. Masukkan informasi Anda, lalu pilih Buat.

    OAuth configurations dialog.

Koneksi Layanan Azure DevOps ke GitHub Enterprise Server

Penting

Untuk menyambungkan Layanan Azure DevOps ke GitHub Enterprise Server Anda, GitHub Enterprise Server Anda harus cukup dapat diakses dari Internet. Pastikan Azure DNS dapat mengatasi nama GitHub Enterprise Server Anda dan firewall Anda memungkinkan akses dari alamat IP Azure Data Center. Untuk menentukan rentang alamat IP, lihat Rentang IP Pusat Data Microsoft Azure. Pesan kesalahan umum yang ditemui saat ada masalah konektivitas adalah:

Nama jarak jauh tidak dapat diselesaikan: 'github-enterprise-server.contoso.com'

Jika Anda mengalami kesalahan ini, periksa apakah server Anda dapat diakses. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Azure DNS.

  1. Pilih Pengaturan proyek>Koneksi>GitHub GitHub Enterprise Server untuk koneksi pertama kali.

    First connection, choose GitHub Enterprise Server.

    Atau, dari dialog koneksi GitHub Baru, pilih GitHub Enterprise Server.

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

  2. Pilih metode autentikasi.

    Screenshot showing authentication method dialog.

    Koneksi dengan OAuth

    Pilih konfigurasi yang Anda siapkan di Langkah 4 dari Daftarkan konfigurasi OAuth Anda di Layanan Azure DevOps, lalu pilih Koneksi.

    Screenshot of New GitHub Enterprise connection, OAuth connection dialog.

    Koneksi dengan Token Akses Pribadi

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

    Screenshot of New GitHub Enterprise connection, Personal access token connection dialog.

    Koneksi dengan Nama Pengguna dan Kata Sandi

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

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

  3. 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 listed.

    Tip

    Anda hanya dapat membuat koneksi ke repositori yang ditentukan di bawah satu organisasi GitHub. Untuk menyambungkan proyek ke repositori lain yang ditentukan di organisasi GitHub lain, Anda harus menambahkan koneksi lain.

  4. Jika ini pertama kalinya Anda menyambungkan ke akun gitHub atau organisasi dari Azure Boards, Anda juga menginstal aplikasi Azure Boards untuk GitHub. Konfirmasikan koneksi sebelumnya di artikel ini.

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.

Memberikan akses organisasi Azure Boards

Jika integrasi antara Azure Boards dan GitHub tidak berfungsi seperti yang diharapkan, verifikasi bahwa Anda telah memberikan akses organisasi.

  1. Dari portal web GitHub, buka Pengaturan dari menu profil Anda.
    Screenshot of open profile, choose Settings.

  2. Pilih Aplikasi di bawah Integrasi>OAuth Apps>Resmi Azure Boards.

  3. Di bawah Akses organisasi, atasi masalah apa pun yang mungkin muncul. Pilih Berikan untuk memberikan akses ke organisasi apa pun yang menunjukkan permintaan Access tertunda.

    Screenshot of Organization access with organizations without access.

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.

Untuk mengatasi masalah ini, pertimbangkan item 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.

Mengatasi koneksi GitHub Enterprise Server yang rusak

Jika Anda telah bermigrasi dari Azure DevOps Server ke Azure DevOps Services dengan koneksi GitHub Enterprise Server yang ada, koneksi yang ada tidak akan berfungsi seperti yang diharapkan. Item kerja menyebutkan dalam GitHub mungkin tertunda atau tidak pernah muncul di Azure DevOps Services. Masalah ini terjadi karena url panggilan balik yang terkait dengan GitHub tidak lagi valid.

Pertimbangkan resolusi berikut:

  • Hapus dan buat ulang koneksi: Hapus dan buat ulang koneksi ke repositori GitHub Enterprise Server. Ikuti urutan langkah-langkah yang disediakan dalam Koneksi dari dokumentasi Azure Boards.

  • Perbaiki url webhook: Buka halaman pengaturan repositori GitHub dan edit url webhook untuk mengarahkan ke url organisasi Azure DevOps Services yang dimigrasikan: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Koneksi ke beberapa organisasi Azure DevOps

Jika Anda menyambungkan repositori GitHub Anda ke dua proyek atau lebih yang ditentukan dalam lebih dari satu organisasi Azure DevOps, seperti dev.azure.com/Contoso dan dev.azure.com/Fabrikam, Anda mungkin mendapatkan hasil yang tidak terduga saat menggunakan AB# menyebutkan untuk menautkan ke item kerja. Masalah ini terjadi karena ID item kerja tidak unik di seluruh organisasi Azure DevOps, sehingga AB#12 dapat merujuk ke item kerja di organisasi Contoso atau Fabrikam. Jadi, ketika item kerja disebutkan dalam pesan penerapan atau permintaan pull, kedua organisasi mencoba membuat tautan ke item kerja dengan ID yang cocok (jika ada).

Secara umum, pengguna ingin AB# menyebutkan untuk menautkan ke satu item kerja di salah satu proyek. Tetapi, jika item kerja dari ID yang sama ada di kedua akun, tautan akan dibuat untuk kedua item kerja, kemungkinan menyebabkan kebingungan.

Saat ini, tidak ada cara untuk mengatasi masalah ini, jadi kami sarankan Anda menghubungkan satu repositori GitHub hanya ke satu organisasi Azure DevOps.

Catatan

Saat Anda membuat koneksi dengan menggunakan aplikasi Azure Boards untuk GitHub, aplikasi mencegah Anda terhubung ke dua organisasi yang berbeda. Jika repositori GitHub salah tersambung ke organisasi Azure DevOps yang salah, Anda harus menghubungi pemilik organisasi tersebut untuk menghapus koneksi sebelum Anda dapat menambahkan repositori ke organisasi Azure DevOps yang benar.

Memperbarui definisi XML untuk memilih jenis item kerja

Jika organisasi Anda menggunakan model proses XML atau XML Lokal yang Dihosting 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