- Ulasan proyek open source untuk migrasi dari Jira ke GitLab
- Latar belakang
- Kabar penghentian dukungan produk server Jira mulai 15 Februari 2024
- Alternatif yang dapat dipilih: Pivotal Tracker, IBM Engineering Requirements Management DOORS Next, Rally Software, GitLab, ServiceNow Agile Development, GitHub, dan lainnya
- Bagaimana dengan pengguna yang memakai server Jira? Haruskah membuat proyek untuk migrasi ke GitLab?
- Status fitur migrasi Jira → GitLab
- Di GitLab, title, description, dan label dari issue Jira dapat disalin
- Metadata lainnya diimpor ke dalam description
- Menyediakan UI untuk memetakan Jira User ke GitLab User
- Keterbatasan migrasi Jira → GitLab
- Wajib mengatur Jira Integration
- Hanya menyediakan Jira API v3
- Karena Jira dan GitLab memakai sintaks yang berbeda, migrasi tidak berlangsung sepenuhnya akurat
- Di description,
Heading 1, Heading 2, Heading 3 berpindah menjadi Numbered, SubNumbered, SubNembered 2
- GitLab menggunakan sintaks Markdown, sedangkan Jira memakai format proprietari bernama
ADF(Atlassian Document Format), sehingga timbul perbedaan ini
- issue type, priority, dan label juga tidak termigrasi secara akurat
- Arah proyek migrasi internal perusahaan
- Tujuan:
- Menetapkan keputusan ke mana Jira epic dipindahkan, dan ke mana issue harus dipindahkan
- Menjalankan migrasi secara rinci untuk menentukan field issue Jira seperti title, description, label, component, dan lainnya harus dipetakan ke field apa di GitLab
- Saat memindahkan Jira epic ke GitLab epic, pengguna diberi keleluasaan untuk memutuskan apakah akan memigrasikannya sebagai sub-epic di sub-group atau sebagai epic di grup induk
- issue dimigrasikan tetap sebagai issue
- Batasan:
- Ingin memigrasikan sub-task juga sebagai task di bawah issue sub-task, tetapi GitLab tidak mendukung Task API
- Di Jira ada terlalu banyak field;
- Fitur sederhana seperti description, label, dan component juga didukung di GitLab sehingga bisa dimigrasikan
- But!!! field terkait time tracking dan security tidak didukung di GitLab sehingga tidak bisa dimigrasikan
- Rancangan akhir
- Proyek Jira → Proyek GitLab
- Epic Jira → Epic GitLab
- Issue Jira → Issue GitLab
- title, description, version, story point, dan resolution di Jira dipetakan apa adanya ke GitLab
- Jira resolution → GitLab closed, Jira story point → GitLab weight
- Jira issue type, component, status, priority → dimigrasikan dengan memanfaatkan label dan scoped label di GitLab
- custom field juga dikembangkan
- description diparse seluruhnya dengan regular expression, lalu isinya diubah ke Markdown untuk dimigrasikan
- Hasil proyek
- Memigrasikan mode bawaan Jira cukup layak dipakai
- Selama plugin dan automation dikecualikan, migrasi berjalan baik
- Sebagian besar dipetakan ke GitLab Label
- Membuat epic di grup induk target
- Link issue yang terhubung di Jira juga dimigrasikan ke GitLab
- Jira wiki markup diubah menggunakan Markdown converter
- attachment dan comment juga ditambahkan ke issue
- Jika terlalu banyak membuat custom field, migrasi menjadi sulit
- Hal yang dilakukan dengan baik
- Versi cloud dibuat lebih dulu, lalu ditambahkan versi server
- Dengan hanya mengatur pemetaan custom field, sebagian besar migrasi dapat dilakukan
- Dengan menyusun pemrosesan paralel secara tepat, migrasi menjadi lebih dari 3 kali lebih cepat dibanding saat tidak melakukannya
- Pengelolaan konfigurasi dilakukan berbasis YAML agar sesuai tren
- Dibuat open source agar siapa pun bisa melakukan migrasi
- Paket didistribusikan lewat Brew
- Hal yang perlu diperbaiki
- Saat memigrasikan dari Jira server
- Perlu tambahan pemetaan sprint
- Tidak ada cara untuk menangani field Cascade
- Saat memigrasikan dari Jira cloud
- Diperlukan pengujian pada banyak kasus nyata, seperti migrasi data terkait plugin
- Halaman proyek open source terkait:
Belum ada komentar.