Ir para o final dos metadados
Ir para o início dos metadados

You are viewing an old version of this content. View the current version.

Comparar com o atual View Version History

« Anterior Versão 2 Próxima »

Esta página tem como objetivo exemplificar o funcionamento de um robô simples para realizar a alteração do SLA etapas, disponibilizado no marketplace. Para isso, utilizaremos a biblioteca RotasOpenAPI, disponibilizada pelo time de Operações da Lecom.

Arquivo de Configurações (application.properties)

Na pasta resources, encontra-se o arquivo application.properties. Nele, devem ser configurados os seguintes dados:

  • Domínio da plataforma,

  • API Key do usuário

  • Informações do processo a ser aprovado.

  • Nome da etapa a ser considerada na busca.

  • Status da atividade a ser consultada.

Exemplo de configuração:

DOMAIN=<DOMINIO DA PLATAFORMA>
API_KEY=<CHAVE OPEN API DO USUAIRO>
CODIGO_PROCESSO=<CODIGO DO PROCESSO>
VERSAO_PROCESSO=<VERSAO DO PROCESSO>
NOME_ATIVIDADE=<NOME DA ATIVIDADE PARA CONSULTA>
STATUS_ATIVIDADE=<STATUS DA ATIVIDADE PARA CONSULTA
ALERTA_HORAS=<HORAS PARA CONFIGURACAO DE ALERTA>
ALERTA_MINUTOS=<MINUTOS PARA CONFIGURACAO DE ALERTA>
ALERTA_SEGUNDOS=<SEGUNDOS PARA CONFIGURACAO DE ALERTA>
LIMITE_HORAS=<HORAS PARA CONFIGURACAO DE LIMITE>
LIMITE_MINUTOS=<MINUTOS PARA CONFIGURACAO DE LIMITE>
LIMITE_SEGUNDOS=<SEGUNDOS PARA CONFIGURACAO DE LIMITE>

RotasOpenAPIConfig

A classe RotasOpenAPIConfig deve ser configurada com os valores definidos no arquivo application.properties. Isso permite a autenticação com o OpenAPI em todas as requisições realizadas.

Exemplo:

RotasOpenAPIConfig.setDomain(config.getDomain());
RotasOpenAPIConfig.setCredentials(config.getApiKey());

RotasOpenAPI

Primeiramente recuperamos uma lista de ProcessosPendentesUseratravéz do RotasOpenApi, realizando um filtro pelo nos da etapa atual do processo, filtrando pelo status.

ResponseOpenApi<List<ProcessosPendentesUser>> processosPendentes = RotasOpenApi
		.processo()
		.buscarProcessosPendentes()
		.porCodigoProcesso(Integer.valueOf(config.getCodigoProcesso()))
		.porVersaoProcesso(Integer.valueOf(config.getVersaoProcesso()))
		.porNomeAtividade(config.getNomeAtividade())
		.porStatus(config.getStatusAtividade())
		.executar();

Por fim, iteramos sobre a lista retornada, utilizando o RotasOpenApi para atualizar o SLA das etapas conforme configuração.

for(ProcessosPendentesUser processo : processosPendentes.getContent()){

	ResponseOpenApi<RetornoAlteraSla> response = RotasOpenApi
			.processo()
			.alteraSla()
			.setAlerta(Integer.valueOf(config.getAlertaHoras()),Integer.valueOf(config.getAlertaMinutos()),Integer.valueOf(config.getAlertaSegundos()))
			.setLimite(Integer.valueOf(config.getLimiteHoras()),Integer.valueOf(config.getLimiteMinutos()),Integer.valueOf(config.getLimiteSegundos()))
			.setCodigoInstancia(processo.getProcessInstanceId())
			.setCodigoAtividade(processo.getActivityInstanceId())
			.setCodigoCiclo(processo.getCycle())
			.executar();

	if (response.getStatus() != 200) {
		LOGGER.error("Erro executar UPPER_CAMEL. Erros: {}", response.getErros());
		return;
	}

	LOGGER.info("SLA atualizado com sucesso. ID da instância: {}", processo.getProcessInstanceId());

}

Conclusão

Este exemplo demonstrou o funcionamento do template disponibilizado pelo Marketplace para a atualização do SLA de etapas. É importante ressaltar que este é um modelo básico. Após a inclusão deste template na sua plataforma, ele pode ser ajustado conforme as necessidades do seu cenário específico.

  • Sem rótulos

0 Comentários

Você não está logado. Qualquer alteração que você fizer será marcada como anônimo. Pode querer Autenticar-se se já tem uma conta.