Menyambungkan 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. Sambungkan 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 Menyambungkan Azure DevOps Server ke GitHub Enterprise Server.
Prasyarat
Persyaratan proyek: Memiliki proyek Azure DevOps. Jika Anda tidak memiliki proyek, buat proyek.
Izin:
- Jadilah anggota grup Administrator Proyek. Jika Anda membuat proyek, Anda memiliki izin.
- Jadilah administrator atau pemilik repositori GitHub untuk disambungkan. 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, konfigurasikan akses menyeluruh (SSO) untuk PAT di akun GitHub Anda. Konfigurasi ini diperlukan untuk mengambil daftar repositori dari organisasi dengan autentikasi SSO Security Assertion Markup Language (SAML) diaktifkan.
Sambungkan Azure Boards ke repositori GitHub.
Masuk ke proyek Anda (
https://dev.azure.com/{Your_Organization/Your_Project}
).Pilih Pengaturan proyek>Koneksi GitHub.
Jika ini adalah pertama kalinya Anda menyambungkan dari proyek, pilih Sambungkan akun GitHub Anda untuk menggunakan kredensial akun GitHub Anda.
Jika tidak, pilih Koneksi baru, dan pilih metode autentikasi Anda dari dialog Koneksi Baru.
Saat Anda terhubung dengan akun GitHub Anda, gunakan kredensial 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.
Jika ini adalah pertama kalinya Anda menyambungkan ke GitHub dari Azure Boards, masuk menggunakan kredensial GitHub Anda. Pilih akun di mana Anda adalah administrator repositori.
Pilih akun GitHub atau organisasi yang ingin Anda sambungkan. Hanya organisasi yang Anda miliki atau administrator yang terdaftar.
Jika semua repositori untuk organisasi sudah tersambung ke Azure Boards, Anda akan melihat pesan berikut:
Masukkan kredensial GitHub Anda. Jika Anda mengaktifkan autentikasi dua faktor, masukkan kode autentikasi yang dikirim oleh GitHub dan pilih Verifikasi. Jika tidak, sistem akan secara otomatis mengenali organisasi GitHub Anda karena akun GitHub Anda dikaitkan dengan akun Azure DevOps Services Anda.
Menambahkan repositori GitHub
Setelah diautentikasi, Anda dapat memilih repositori yang ingin Anda sambungkan.
Dialog Tambahkan Repositori GitHub secara otomatis ditampilkan dan memilih semua repositori GitHub.com tempat Anda menjadi administrator di organisasi yang dipilih. Batal pilih repositori apa pun yang tidak ingin Anda sertakan dalam integrasi.
Tip
Untuk menghindari penautan AB# yang tidak terduga, sebaiknya sambungkan repositori GitHub ke proyek dalam satu organisasi Azure DevOps. Menyambungkan repositori GitHub yang sama ke proyek di beberapa organisasi Azure DevOps dapat menyebabkan masalah. Untuk informasi selengkapnya, lihat Memecahkan masalah integrasi GitHub & Azure Boards.
Jika semua repositori sudah tersambung ke organisasi saat ini atau lainnya, pesan berikut akan ditampilkan:
Setelah membuat pilihan Anda, pilih Simpan.
Mengonfirmasi koneksi
Tinjau halaman GitHub yang ditampilkan lalu pilih Setujui, Instal, & Otorisasi.
Berikan kata sandi GitHub Anda untuk mengonfirmasi.
Setelah selesai, Anda akan melihat koneksi baru dengan repositori yang dipilih tercantum.
Untuk mengubah konfigurasi atau mengelola aplikasi Azure Boards untuk GitHub, lihat Mengubah akses repositori ke Azure Boards.
Menambahkan koneksi GitHub menggunakan PAT
Sebaiknya gunakan kredensial akun GitHub Anda untuk terhubung ke repositori GitHub Anda. Jika Anda perlu menggunakan PAT, lakukan langkah-langkah berikut.
Tip
Saat Anda membuat GitHub PAT, pastikan Anda menyertakan cakupan ini: repo, read:user, user:email, admin:repo_hook
.
Pilih Token Akses Pribadi.
Untuk membuat PAT GitHub, buka Token akses Pribadi Pengaturan > Pengembang GitHub.
Masukkan PAT dan pilih Sambungkan.
Pilih repositori yang ingin Anda sambungkan ke proyek dengan mengikuti prosedur yang diuraikan dalam Pilih repositori sebelumnya di artikel ini.
Jika ini pertama kalinya menyambungkan ke akun GitHub atau organisasi dari Azure Boards, instal aplikasi Azure Boards untuk GitHub. Konfirmasikan koneksi sebelumnya di artikel ini.
Mendaftarkan Azure DevOps di GitHub sebagai Aplikasi OAuth
Untuk menggunakan OAuth untuk menyambungkan Azure DevOps dengan GitHub Enterprise Server Anda, pertama-tama daftarkan aplikasi sebagai Aplikasi OAuth. Untuk informasi selengkapnya, lihat Membuat Aplikasi OAuth.
Mendaftarkan Layanan Azure DevOps
Masuk ke portal web untuk server GitHub Enterprise Anda.
Buka Pengaturan>Pengaturan Aplikasi>Oauth Aplikasi>OAuth Baru.
Masukkan informasi pendaftaran.
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
Contohnya:
https://dev.azure.com/fabrikam/_admin/oauth2/callback
Pilih Daftar aplikasi.
ID Klien dan Rahasia Klien untuk aplikasi OAuth terdaftar Anda muncul.
Mendaftarkan konfigurasi OAuth Anda di Azure DevOps Services
Masuk ke portal web untuk Layanan Azure DevOps.
Tambahkan konfigurasi GitHub Enterprise Oauth ke organisasi Anda.
Di Pengaturan organisasi, pilih Konfigurasi>Oauth Tambahkan konfigurasi Oauth.
Masukkan informasi Anda, lalu pilih Buat.
Menyambungkan Layanan Azure DevOps ke GitHub Enterprise Server
Penting
Untuk menyambungkan Layanan Azure DevOps ke GitHub Enterprise Server Anda, pastikan GitHub Enterprise Server Anda dapat diakses dari Internet. Verifikasi bahwa Azure DNS dapat mengatasi nama GitHub Enterprise Server Anda dan firewall Anda mengizinkan akses dari alamat IP Azure Data Center. Untuk menentukan rentang alamat IP, lihat Rentang IP Pusat Data Microsoft Azure. Pesan kesalahan umum untuk masalah konektivitas adalah:
Nama jarak jauh tidak dapat diselesaikan: 'github-enterprise-server.contoso.com'
Jika Anda mengalami kesalahan ini, periksa aksesibilitas server Anda. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Azure DNS.
Pilih Pengaturan proyek>Koneksi>GitHub GitHub Enterprise Server untuk koneksi pertama kali.
Atau, dari dialog koneksi GitHub Baru, pilih GitHub Enterprise Server.
Pilih metode autentikasi.
Menyambungkan dengan OAuth
Pilih konfigurasi yang Anda siapkan di Langkah 4 dari Daftarkan konfigurasi OAuth Anda di Layanan Azure DevOps, lalu pilih Sambungkan.
Menyambungkan dengan Token Akses Pribadi
Masukkan URL untuk server GitHub Enterprise Anda dan kredensial token akses pribadi yang dikenali oleh server tersebut. Lalu pilih Sambungkan.
Menyambungkan 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 Sambungkan.
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.
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.
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 menggunakan berbagai protokol autentikasi untuk mempertahankan koneksi. Perubahan pada cakupan izin pengguna atau kredensial autentikasi dapat mencabut repositori GitHub yang terhubung ke Azure Boards.
Untuk gambaran umum integrasi yang didukung oleh aplikasi Azure Boards untuk GitHub, lihat Integrasi Azure Boards-GitHub.
Opsi autentikasi yang didukung
Opsi autentikasi yang didukung berikut bergantung pada platform GitHub yang 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 terintegrasi dengan repositori GitHub.com dan GitHub Enterprise Server. Azure DevOps Server 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 memberikan akses organisasi.
Dari portal web GitHub, buka Pengaturan dari menu profil Anda.
Pilih Aplikasi di bawah Integrasi>OAuth Apps>Resmi Azure Boards.
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.
Mengatasi masalah akses
Saat koneksi Azure Boards ke GitHub kehilangan akses, status pemberitahuan dengan red-X muncul di antarmuka pengguna. Arahkan mouse ke atas pemberitahuan untuk melihat bahwa kredensial tidak lagi valid. Untuk memperbaiki masalah ini, hapus koneksi dan buat yang baru.
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 dicabut atau cakupan izin yang diperlukan berubah dan tidak mencukupi.
Pengguna mungkin tidak memiliki 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 bermigrasi dari Azure DevOps Server ke Azure DevOps Services dengan koneksi GitHub Enterprise Server yang ada, koneksi Anda yang ada mungkin tidak berfungsi seperti yang diharapkan. Item kerja menyebutkan dalam GitHub mungkin tertunda atau tidak pernah muncul di Azure DevOps Services 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 dokumentasi Sambungkan dari Azure Boards .
Perbaiki URL webhook: Buka halaman pengaturan repositori GitHub dan edit URL webhook, yang menunjuk ke URL organisasi Azure DevOps yang dimigrasikan:
https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview
Menyambungkan ke beberapa organisasi Azure DevOps
Menghubungkan repositori GitHub Anda ke proyek di beberapa organisasi Azure DevOps, seperti dev.azure.com/Contoso dan dev.azure.com/Fabrikam, dapat menyebabkan hasil yang tidak terduga dengan penyebutan AB# . ID item kerja tidak unik di seluruh organisasi Azure DevOps, sehingga AB#12 dapat merujuk ke item kerja di Contoso atau Fabrikam. Saat item kerja disebutkan dalam pesan penerapan atau permintaan pull, kedua organisasi mungkin mencoba menautkan ke item kerja dengan ID yang cocok, menyebabkan kebingungan.
Untuk menghindari masalah ini, sambungkan satu repositori GitHub hanya ke satu organisasi Azure DevOps.
Catatan
Saat Anda tersambung menggunakan aplikasi Azure Boards untuk GitHub, aplikasi mencegah koneksi ke beberapa organisasi. Jika repositori GitHub terhubung ke organisasi Azure DevOps yang salah, hubungi pemilik organisasi tersebut untuk menghapus koneksi sebelum menambahkan repositori ke organisasi Azure DevOps yang benar.
Memperbarui definisi XML untuk memilih jenis item kerja
Perbarui definisi XML untuk jenis item kerja jika organisasi Anda menggunakan model proses XML yang Dihosting atau XML lokal untuk menyesuaikan pengalaman pelacakan kerja dan menautkan ke dan menampilkan jenis tautan GitHub dari bagian Pengembangan dalam formulir item kerja.
Misalnya, untuk menautkan cerita pengguna dan bug ke GitHub menerapkan dan menarik permintaan dari bagian Pengembangan , perbarui 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 untuk mendukung jenis tautan eksternal: GitHub Commit dan GitHub Pull Request.
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
Setelah memperbarui, 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>
Tanya Jawab Umum
T: Beberapa pengguna saya di Azure DevOps memiliki identitas GitHub. Apakah saya perlu menambahkannya sebagai pengguna GitHub baru ke organisasi saya?
J: Tidak. Minta pengguna Anda untuk keluar lalu masuk kembali ke organisasi dengan kredensial GitHub mereka dari sesi browser baru. Tindakan ini akan menetapkan identitas GitHub mereka.
T: Saya adalah Administrator organisasi dan saya mengaktifkan kebijakan untuk mengundang pengguna GitHub. Mengapa saya tidak dapat mengundang pengguna GitHub baru?
J: Setelah mengubah pengaturan, keluar dari Azure DevOps lalu masuk kembali ke organisasi (dev.azure.com/{organizationName}
atau organizationName.visualstudio.com
) dengan kredensial GitHub Anda dari sesi browser baru.
T: Saya masuk dengan kredensial GitHub saya, tetapi mengapa saya tidak dapat mengundang pengguna GitHub?
A: Hanya Administrator organisasi atau proyek yang dapat mengundang pengguna baru untuk bergabung dengan organisasi. Anda mungkin tidak memiliki izin yang diperlukan untuk menambahkan pengguna baru. Bekerja sama dengan administrator Anda untuk mendapatkan izin yang diperlukan atau minta mereka menambahkan pengguna untuk Anda.