Jira→GitLab geçişi deneyimi ve çıkarılan dersler
(insight.infograb.net)- 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,labelalanları kopyalanıyor - Geri kalan meta veriler
descriptioniçine alınıyor - Jira User'ı GitLab User ile eşleştiren bir UI sunuluyor
- GitLab'da Jira issue'larının
- 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
descriptioniç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,labelda 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,componentgibi 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,componentgibi 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,resolutionalanları GitLab'a doğrudan eşleniyor - Jira
resolution→ GitLabclosed, Jirastory point→ GitLabweight - Jira
issue type,component,status,priority→ GitLablabel,scoped labelkullanılarak taşınıyor custom fielddesteği de geliştirildidescriptionformatı 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 fieldoluş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 fieldeş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
- Jira sunucusundan geçiş yapılırken
- İlgili açık kaynak proje sayfaları:
- Hedefler:
Henüz yorum yok.