Olá pessoal –
Para fechar o terceiro post da série
sobre os gatilhos e conectores nativos do Project Online e Flow, vamos falar
hoje sobre a ação Enviar uma solicitação HTTP ao SharePoint. Como vimos
nos dois posts anteriores (post1
e post2)
o Microsoft Flow possui gatilhos e ações nativas atreladas ao Microsoft Project
Online – entretanto, podemos dizer que
infelizmente esses gatilhos e conectores nativos do Flow possuem certas
limitações em relação aos recursos disponíveis para as possíveis automações que
queiramos configurar.
Para superar essas limitações, uma
excelente alternativa é utilizar a ação Enviar uma solicitação HTTP ao SharePoint,
que permite a execução de operações básicas como leitura e obtenção de dados de
uma interface REST fornecida pelo SharePoint. Como sabemos, o Project Online é
baseado em uma estrutura de sites do SharePoint, o que permite que esta ação seja
utilizada para que seja possível automatizar as ações no Microsoft Flow. Uma
das maiores vantagens da utilização desta ação no contexto do Project Online é
que podemos criar consultas para obter praticamente qualquer dado do banco de
dados do Project Online, incluindo campos nativos e também campos
personalizados. Caso você queira conhecer em mais detalhes as operações básicas
usando os pontos de extremidades REST do SharePoint, você pode visitar esse
excelente artigo técnico no site da Microsoft.
Temos uma infinidade de casos de uso
que poderiam ser utilizados para obtenção dos dados via interface REST:
poderíamos criar uma recorrência para coletar informações sobre projetos com
problemas, enviando então um e-mail de notificação para um grupo específico; ou
poderíamos capturar as informações dos projetos periodicamente, para criar uma
análise de tendência; poderíamos também coletar os dados de um projeto recém
criado e então gerar um documento (Business Case) automaticamente.... enfim, os
cenários e as possibilidades são inúmeras, e eu tenho falado bastante sobre
isso no meu canal do YouTube.
A janela contendo as configurações da ação será apresentada:
Em endereço do site, clique no
drop-down para selecionar a URL do seu ambiente do Project Online. Caso não a
encontre, você também poderá digitá-la, como nesse exemplo: https://<suaempresa>.sharepoint.com/sites/pwa.
O método a ser utilizado será GET,
pois desejamos ler/obter os dados do banco de dados do Project Online.
Em Uri poderemos definir a string/consulta
que será utilizada para determinar quais os campos a serem obtidos, e também
para que seja possível filtrar os projetos. Neste exemplo, estou utilizando a
seguinte string:
/_api/ProjectData/[en-us]/Projects()?$Select=ProjectId,ProjectName,ProjectOwnerName,ProjectPercentCompleted&$Filter=ProjectType
ne 7
A ideia é obter alguns campos nativos
do Project Online (Id do Projeto, Nome do Projeto, Proprietário e Percentual Concluído),
filtrando para que o projeto do tipo 7 não seja incluído na consulta. A boa
notícia é que você pode incluir campos personalizados existentes no seu
ambiente na consulta caso seja necessário.
Como iremos utilizar os resultados da ação nas próximas ações do nosso Flow, é interessante renomear a ação atual para algo mais simples. Eu gosto bastante de usar a expressão GetProjects nesse contexto:
Uma vez construída a ação, você pode rodar o Flow para visualizar os resultados obtidos e validar que tudo está funcionando conforme esperado:
Uma vez validada a ação de obtenção dos dados, você poderá configurar os passos seguintes com os resultados, de acordo com os seus requisitos de negócio – por exemplo, poderia criar uma tabela HTML para melhor estruturar a lista de projetos obtidos. Como você está obtendo dados via extremidade REST, o ideal é não utilizar os resultados obtidos através da função de Conteúdo Dinâmico; pelo contrário, utilize uma Expressão para que seja possível se referenciar aos valores e resultados da ação anterior, utilizando a expressão body('GetProjects')[ 'Value '):
Os resultados poderão ser observados ao rodar o flow:
E a partir daí você poderia estabelecer mais filtros, obter mais campos e então definir as ações seguintes para configurar a automatização do seu processo, conforme necessário.
Nenhum comentário:
Postar um comentário