- Jira'dan GitLab'a geçiş yapan açık kaynak projesinin deneyimleri
- Neden
- 15 Şubat 2024 itibarıyla Jira sunucu ürünleri desteğinin sona ereceği haberi
- Seçilebilecek alternatifler: Pivotal Tracker, IBM Engineering Requirements Management DOORS Next, Rally Software, GitLab, ServiceNow Agile Development, GitHub vb.
- Jira sunucusunu kullananlar ne yapacak? GitLab'a geçiş yapan bir proje mi oluştursak?
- Jira → GitLab geçiş özelliğinin mevcut durumu
- GitLab'da Jira issue'larının
title, description, label alanları kopyalanıyor
- Geri kalan meta veriler
description içine alınıyor
- Jira User'ı GitLab User ile eşleştiren bir UI sunuluyor
- Jira → GitLab geçiş kısıtları
- Jira Integration ayarının yapılması zorunlu
- Yalnızca Jira API v3 sağlanıyor
- Jira ve GitLab farklı sözdizimleri kullandığı için birebir doğru geçiş olmuyor
description içindeki 'Heading 1', 'Heading 2', 'Heading 3', 'Numbered', 'SubNumbered', 'SubNembered 2' olarak aktarılıyor
- GitLab Markdown sözdizimini kullanırken Jira
ADF(Atlassian Document Format) adlı kendine özgü bir format kullanıyor; fark buradan kaynaklanıyor
issue type, priority, label da tam doğru şekilde taşınmıyor
- Şirket içi geçiş projesinin yönü
- Hedefler:
- Jira epic'lerinin nereye, issue'ların nereye gitmesi gerektiğine karar vermek
title, description, label, component gibi Jira issue alanlarının GitLab'da hangi alanlara gideceğini belirleyerek somut bir geçiş yürütmek
- Jira epic'lerini GitLab epic'lerine taşırken, alt gruptaki alt epic'lere mi yoksa üst gruptaki epic'lere mi taşınacağını kullanıcının seçebilmesi için esneklik sağlandı
- Issue'lar issue olarak taşınacak şekilde tasarlandı
- Sınırlamalar:
- Alt görevleri de alt görev altındaki issue'lardaki görevler olarak taşımak istedik, ancak GitLab'ın task API'si bunu desteklemiyor
- Jira'da çok fazla alan var;
description, label, component gibi basit işlevler GitLab'da da desteklendiği için taşınabiliyor
- Ama!!!
time tracking, güvenlikle ilgili alanlar GitLab'da desteklenmediği için taşınamıyor
- Nihai tasarım
- Jira project → GitLab project
- Jira epic → GitLab epic
- Jira issue → GitLab issue
- Jira'nın
title, description, version, story point, resolution alanları GitLab'a doğrudan eşleniyor
- Jira
resolution → GitLab closed, Jira story point → GitLab weight
- Jira
issue type, component, status, priority → GitLab label, scoped label kullanılarak taşınıyor
custom field desteği de geliştirildi
description formatı tamamen regular expression ile parse edilip içerik Markdown'a dönüştürülerek taşınıyor
- Proje sonuçları
- Jira'nın saf kullanım modunu taşımak işe yarar durumda
- Eklentiler ve otomasyonlar hariç tutulursa geçiş iyi çalışıyor
- Çoğu şey GitLab Label ile eşleniyor
- Hedef üst grupta epic oluşturuluyor
- Jira'da bağlı issue link'leri GitLab'a da taşınıyor
- Jira wiki markup, Markdown dönüştürücü ile çevriliyor
- Issue'lara attachment ve comment de ekleniyor
- Çok fazla
custom field oluşturulursa geçiş sırasında zorlaşıyor
- İyi yapılan noktalar
- Önce cloud sürümü yapıldı, ardından server sürümü eklendi
- Yalnızca
custom field eşlemesini ayarlayarak geçişin büyük kısmı yapılabiliyor
- Paralel işleme uygun şekilde yapılandırılarak, yapılmadığı duruma göre geçiş 3 kattan fazla hızlandırıldı
- Güncel trende uygun olarak yapılandırma yönetimi YAML tabanlı yapıldı
- Herkesin geçiş yapabilmesi için açık kaynak olarak sunuldu
- Paket dağıtımı Brew ile yapıldı
- Geliştirilebilecek noktalar
- Jira sunucusundan geçiş yapılırken
- Sprint eşlemesinin ayrıca eklenmesi gerekiyor
- Cascade field için bir yöntem yok
- Jira cloud'dan geçiş yapılırken
- Eklenti verilerinin taşınması gibi çok sayıda gerçek kullanım senaryosunda test gerekiyor
- İlgili açık kaynak proje sayfaları:
Henüz yorum yok.