10 pontos por ironlung 2023-10-24 | Ainda não há comentários. | Compartilhar no WhatsApp
  • 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.

Ainda não há comentários.