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!