Relato de migração do Jira→GitLab e lições aprendidas
(insight.infograb.net)- Relato de um projeto open source de migração do Jira para o GitLab
- Motivação
- A notícia de que o suporte aos produtos Jira Server seria encerrado em 15 de fevereiro de 2024
- Alternativas disponíveis: Pivotal Tracker, IBM Engineering Requirements Management DOORS Next, Rally Software, GitLab, ServiceNow Agile Development, GitHub etc.
- O que fazer com quem usava Jira Server? Vamos criar um projeto para migrar para o GitLab?
- Status atual dos recursos de migração Jira → GitLab
- No GitLab, é possível copiar
title,descriptionelabeldos issues do Jira - Os demais metadados são trazidos para
description - Há uma interface para mapear usuários do Jira para usuários do GitLab
- No GitLab, é possível copiar
- Restrições da migração Jira → GitLab
- É obrigatório configurar a integração com o Jira
- Só há suporte à Jira API v3
- Como Jira e GitLab usam sintaxes diferentes, a migração não fica exata
- Em
description,Heading 1,Heading 2eHeading 3acabam sendo migrados comoNumbered,SubNumberedeSubNembered 2 - O GitLab usa sintaxe Markdown, enquanto o Jira usa um formato próprio chamado
ADF(Atlassian Document Format)
- Em
issue type,priorityelabeltambém não são migrados com exatidão
- Direção do projeto interno de migração
- Objetivo:
- Tomar decisões sobre para onde os épicos do Jira devem ir e para onde os issues devem ir
- Definir concretamente para quais campos do GitLab devem ir campos de issue do Jira como
title,description,label,componentetc. e executar a migração
- Ao migrar épicos do Jira para épicos do GitLab, foi dada liberdade para o usuário decidir se migraria para subépicos em subgrupos ou para épicos no grupo superior
- Os issues foram definidos para serem migrados como issues
- Limitações:
- Queríamos migrar subtarefas também para tarefas dentro do issue pai, mas a API de tarefas do GitLab não oferece suporte
- Há campos demais no Jira;
- Recursos simples como
description,labelecomponenttambém são suportados no GitLab, então podem ser migrados - Mas!!! campos relacionados a
time trackinge segurança não são suportados no GitLab, então não podem ser migrados
- Recursos simples como
- Desenho final
- Projeto do Jira → Projeto do GitLab
- Épico do Jira → Épico do GitLab
- Issue do Jira → Issue do GitLab
title,description,version,story pointeresolutiondo Jira são mapeados diretamente no GitLabresolutiondo Jira →closeddo GitLab,story pointdo Jira →weightdo GitLabissue type,component,statuseprioritydo Jira → migração usandolabelescoped labeldo GitLab- Também foi desenvolvido suporte a
custom field - Em
description, todo o formato é analisado com expressões regulares, o conteúdo é convertido para Markdown e então migrado
- Resultado do projeto
- Migrar o modo padrão do Jira é algo utilizável
- Tirando plugins e automações, a migração funciona bem
- A maior parte é mapeada com GitLab Labels
- Criação de épicos no grupo superior de destino
- Links entre issues conectados no Jira também são migrados para o GitLab
- O wiki markup do Jira é convertido por um conversor para Markdown
- Também são adicionados
attachmentecommentaos issues - Criar muitos
custom fielddificulta a migração
- Acertos
- Primeiro foi criada a versão para cloud, e depois foi adicionada a versão para servidor
- Só configurando o mapeamento de
custom field, já é possível fazer a maior parte da migração - Com processamento paralelo bem estruturado, a migração ficou mais de 3 vezes mais rápida do que sem isso
- O gerenciamento de configuração foi feito em YAML, alinhado às tendências
- Foi disponibilizado como open source para que qualquer pessoa possa migrar
- O pacote foi distribuído via Brew
- Pontos a melhorar
- Ao migrar a partir do Jira Server
- É necessário adicionar mapeamento de sprint
- Não há solução para o campo Cascade
- Ao migrar a partir do Jira Cloud
- É preciso testar muitos casos reais, incluindo migração de dados relacionados a plugins
- Ao migrar a partir do Jira Server
- Página do projeto open source:
- Objetivo:
Ainda não há comentários.