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: