- 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, description e label dos 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
- 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 2 e Heading 3 acabam sendo migrados como Numbered, SubNumbered e SubNembered 2
- O GitLab usa sintaxe Markdown, enquanto o Jira usa um formato próprio chamado
ADF(Atlassian Document Format)
issue type, priority e label també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, component etc. 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, label e component também são suportados no GitLab, então podem ser migrados
- Mas!!! campos relacionados a
time tracking e segurança não são suportados no GitLab, então não podem ser migrados
- Desenho final
- Projeto do Jira → Projeto do GitLab
- Épico do Jira → Épico do GitLab
- Issue do Jira → Issue do GitLab
title, description, version, story point e resolution do Jira são mapeados diretamente no GitLab
resolution do Jira → closed do GitLab, story point do Jira → weight do GitLab
issue type, component, status e priority do Jira → migração usando label e scoped label do 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
attachment e comment aos issues
- Criar muitos
custom field dificulta 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
- Página do projeto open source:
Ainda não há comentários.