~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Listar Builds ====== Este caso de uso tem por objetivo listar as [[desenvolvimento:especificacoes:iproject:casos_de_uso:integracao:build:cadastrar|builds]] cadastradas e possibilitar alteração e exclusão. Este caso de uso pode ser utilizado por qualquer usuário do iProject. ===== Descrição do Caso de Uso ===== O caso de uso se inicia através do seguinte caminho: //IProject -> Integração -> Build -> Listar//. O sistema inicia listando todas as builds cadastradas. Os seguintes dados das builds são exibidos: * **__Sistema__**: Tipo TEXTO. * **__Data de cadastro__**: Tipo DATA, formato: DD/MM/AAAA HH:MM. * **__Data de publicação__**: Tipo DATA, formato: DD/MM/AAAA HH:MM. * **__Aberta__**: Tipo TEXTO. * **__Versão__**: Tipo TEXTO, formato: SISTEMA.VERSÃO. * **__Release__**: Tipo TEXTO. * **__Observações__**: Tipo TEXTO. O sistema disponibiliza as opções, para cada registro, de: finalizar a build, gerar release, gerar script SQL, exportar wiki, gerar changelog e remover build. Caso o usuário deseje finalizar uma build listada, o sistema exibe os seguintes dados ([[#Principais Regras de Negócio|RN03, RN04, RN05 e RN06]]): ***__Data__**: Tipo DATA. formato: DD/MM/AAAA. ***__Sistema__**: Tipo TEXTO. ***__Build__**: Tipo TEXTO, formato: SISTEMA.VERSÃO. ***__Número Build Sugerida__**: Tipo NUMÉRICO. formato: 9.9.9. ***Build Arquitetura***: Tipo TEXTO. ***__Release__**: Tipo TEXTO. * É exibida uma listagem contendo as tarefas relacionadas, exibindo os seguintes dados (observa-se que as tarefas destacadas são aquelas geradoras de novas versões) : ***__#__**: Tipo NUMÉRICO. ***__Título__**: Tipo TEXTO. ***__Tipo__**: Tipo TEXTO. ***__Responsável__**: Tipo TEXTO. Ao gerar uma build, é exibido o resultado do sync para deploy em produção: ***__Monitoramento do status da sincronização__** - É um gráfico de barras que é alterado dado o progresso da atividade. ***__Log de retorno da sincronização__** Caso o usuário deseje gerar uma release (publicar uma determinada build), são exibidos os dados: * **__Sistema__**: Tipo - TEXTO. * **__Data__**: Tipo DATA, formato: DD/MM/AAAA. * **__Observações__**: Tipo - TEXTO. * **__Script do banco__**: Tipo - Arquivo. * **__Link Wiki__**: Tipo - TEXTO. Caso o usuário deseje gerar um script SQL associado à build, é requerido que seja definido um banco de dados: ***Banco de Dados**: Tipo TEXTO e então um download é disponibilizado ao usuário. Caso o usuário deseje exportar a build em formato wiki, ao usuário será disponbilizado o download de tal arquivo. Caso o usuário deseje verificar os changelogs das tarefas associados à tarefa, então uma listagem contendo todas as tarefas, com os dados: ***__#__**: Tipo NUMÉRICO. ***__Tarefa__**: Tipo TEXTO. ***__Criador__**: Tipo TEXTO. ***__Changelog__**: Tipo TEXTO. Caso o usuário deseje remover uma build, tal opção é disponibilizada pelo sistema ([[#Principais Regras de Negócio|RN01 e RN02]]). Caso o usuário deseje visualizar as tarefas atualizadas, utilizar a opção de [[desenvolvimento:especificacoes:iproject:casos_de_uso:relatorios:atualizacoes_realizadas|Atualizações realizadas]]. Também existe a opção para filtrar os itens da listagem através dos campos: * **Sistema**: Tipo TEXTO. * **Aberta**: Tipo TEXTO. * **Possui Release**: Tipo TEXTO, são apresentadas as opções: 'SIM' e 'NÃO'. * **Data Início**: Tipo DATA. * **Data Fim**: Tipo DATA. * **Versão/Build**: Tipo NUMÉRICO. O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Ao remover uma build, a mesma não é excluída da base de dados, seu atributo "ativo" é apenas alterado para "false". * **RN02** - Só é possível remover uma build, se a mesma não tiver sido associada a uma atualização. Uma mensagem de erro é apresentada nesse caso. * **RN03** - Quando uma build é finalizada, o campo Aberta, passa de SIM para NÃO. * **RN04** - Uma build após finalizada pode ser modificada ou excluída. * **RN05** - Ao finalizar a build é informado a qual deploy ele faz parte e são alterados os campos: "Data de Realização" e "Usuário de Realização" do log de "SOLICITADO ATUALIZAÇÃO". * **RN05** - Será exibida todas as tarefas relacionadas a build e serão marcadas de verde as que esteja com o [[desenvolvimento:especificacoes:iproject:casos_de_uso:administracao:tarefas:cadastrar_tipo|tipo tarefa]] gerarNovaVersao==true. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela ^ | br.com.jeebrasil.iproject.dominio.Build | sistemas_comum.iproject.build | ====== Plano de Teste ====== Sistema: iProject Módulo: Integração Links: iProject -> Integração -> Build -> Listar Usuário: dalton, gleydson, raphaela. Permisão: Qualquer usuário com acesso ao Iproject (o caso de uso não faz checagem de papéis). ===== Cenários de Teste ===== Verificar se uma build for marcada como Fechada, os logs do tipo "SOLICITADO ATUALIZAÇÃO" estão apresentando a Data de Realização e Usuário de Realização de quando e quem fez o fechamento da build. ===== Dados de teste ===== Para testar esse caso de uso é necessário cadastrar uma [[desenvolvimento:especificacoes:iproject:casos_de_uso:integracao:build:cadastrar|build]]. Script para saber os log que fazem parte da build: select * from iproject.log_tarefa t inner join iproject.build b on t.id_build = b.id_build where t.id_build <> 0 and t.id_status = 30 and t.id_build = 40402900 Script para listar a quantidade de builds da listagem select count(*) from iproject.build where ativo = true