segunda-feira, 7 de outubro de 2019

Flow e Project Online: Gatilhos e Conectores Nativos (parte 2)

Olá pessoal –

Dando continuidade à parte 1 do vídeo sobre gatilhos e conectores nativos do Flow para o Project Online, vamos falar hoje sobre a ação Listar projetos. Esta é uma ação nativa que tem como objetivo disponibilizar/listar algumas informações dos projetos disponíveis no ambiente do Project Online.

Para simular um cenário real de utilização da ação Listar Projetos, digamos que um administrador do Project Online queira receber semanalmente a listagem dos projetos que foram deixados em check-out.

Para começar, vou iniciar um novo Flow e então definir uma recorrência semanal, sempre às segundas-feiras. Em seguida, a nova etapa utilizará o conector do Project Online que possui a ação Listar Projetos:


Esta ação possui apenas um parâmetro de entrada, que é o endereço do site raiz do Project Online:


Uma coisa que eu gosto bastante de fazer para aprender como o Flow trabalha nos bastidores, e também para descobrir quais são os resultados disponíveis no contexto da ação executada, é executar o fluxo de fato. O objetivo aqui é descobrir se entre os campos retornados na ação Listar Projetos há algo que permita descobrir se o projeto está ou não em check-out. Portanto, vou executar o Flow e descobrir a lista de campos retornados na ação:


Uma vez confirmada a existência da propriedade chamada “IsCheckedOut”, vamos prosseguir. Como o objetivo é listar apenas os projetos em check-out, na próxima etapa vou incluir a ação Matriz do filtro (em inglês, Filter array), que permite a segmentação das informações obtidas através da aplicação de um critério. O filtro será aplicado com base no valor retornado Projetos retornados Foi feito check-out:


A condição deve ser verdadeira (true):


So far so good... temos a nossa lista de projetos em check-out. A questão agora é: como organizá-la? Para enviar a lista por e-mail, uma boa alternativa é convertê-la em uma tabela, para que os dados sejam estruturados adequadamente. Nesse sentido, na próxima etapa vou utilizar a ação Criar Tabela HTML, onde iremos obter o resultado/output do passo anterior como entrada/input:


Aqui é importante notar algo relevante: apesar de o passo anterior estar filtrando apenas os projetos em check-out, todas as propriedades (colunas) estão sendo obtidas... isso significa que a tabela HTML não será estruturada adequadamente caso alguns ajustes não sejam feitos. Desse modo, ainda nesta etapa, clique em Mostrar opções avançadas para que seja possível determinar quais são as informações a serem exibidas na tabela. Perceba que você poderá criar um cabeçalho e então determinar quais propriedades deseja utilizar:



Nesse ponto acabei descobrindo que há um pequeno bug no conector do Flow 😕. Os resultados obtidos na ação Matriz do filtro disponibilizam uma propriedade chamada ‘Nome do Projeto’, que em teoria deveria trazer o nome do projeto conforme filtrado anteriormente. Acontece que, por algum motivo desconhecido, essa propriedade não está relacionada ao nome do projeto, mas sim à propriedade ‘Nome do Tipo de Projeto da Empresa’. Isso que dizer que a tabela não irá conseguir disponibilizar/listar os nomes dos projetos em check-out 😔.

Tenho que confessar que eu fiquei bem frustrado ao descobrir isso, pois o nome do projeto é uma propriedade essencial para o tipo de resultado que desejamos obter nesse exemplo. De qualquer maneira, já reportei o bug à Microsoft, então vamos continuar... ao invés de retornar os nomes dos projetos em check-out, iremos retornar outras três informações:

- O identificado do projeto
- A última data em que o projeto foi salvo
- O Id interno do projeto


Ao rodar o fluxo, teremos o seguinte resultado:


Para finalizar, vou configurar o envio de um e-mail com base nos resultados da tabela HTML. Nas configurações da ação Enviar um email lembre-se de expandir as opções avançadas para determinar que se trata de uma mensagem HTML:


Quando o fluxo rodar na data pré-definida, as notificações serão enviadas conforme exemplo abaixo:


Considerações


Como foi possível observar nesse post e também no post anterior, infelizmente os gatilhos e conectores nativos do Flow com o Project Online parecem não terem recebido a atenção merecida, exigindo certo malabarismo para que seja possível trabalhar com as informações que precisamos. Por este motivo irei dar continuidade a esta série de posts, onde iremos continuar explorando outras alternativas que permitam maior flexibilidade na obtenção dos campos disponíveis na api do Project Online. Fique ligado aqui no blog.

Um forte abraço e até o próximo post!

Nenhum comentário:

Postar um comentário