sábado, 28 de agosto de 2021

Importando riscos em lote via Power Automate

 Olá pessoal –

Esse é mais um daqueles posts que eu deixo registrado aqui como base de conhecimento caso venha precisar fazer algo semelhante no futuro.

Contexto

Trabalhei recentemente em um projeto de implantação do Project Online para um cliente que atua na área de saneamento. Após a finalização das configurações da plataforma conforme os requisitos de negócio, iniciamos o cadastramento dos projetos no sistema.

O cliente já efetuava a gestão de riscos em uma planilha do Microsoft Excel, e dessa planilha surgiu o desejo de importar todos os riscos já mepeados em lote para o Project Online, evitando o re-trabalho de cadastro de maneira manual.


Ajustes

Antes de construir o flow foi necessário ajustar a planilha para deixá-la em conformidade com a forma como o Power Automate é capaz de interpretar e utilizar seus dados. As seguintes ações foram aplicadas:

  • Linhas vazias na planilha foram excluídas
  • Todas as formatações foram limpas, e o intervalo de dados foi convertido em uma tabela
  • Uma coluna chamada Id do Projeto foi adicionada à planilha, contendo o Id exclusivo dos projetos a partir do Project Online. Esta informação é necessária para que o flow possa filtrar os projetos individualmente quando da importação dos riscos em lote
  • Todos os campos baseados em uma lista de valores (Status e Categoria) foram normatizados para mapearem os mesmos valores da lista padrão de riscos do Project Online
  • Por fim, uma vez realizados todos os ajustes, a planilha foi carregada para a biblioteca de documentos compartilhados dentro da coleção de sites padrão do Project Online

Flow para importação de riscos em lote

Já no Microsoft Power Automate, temos o seguinte flow:


A essência do flow é bem simples:

  • Um gatilho manual foi inserido, uma vez que o flow será executado uma única vez
  • Em seguida é necessário obter as linhas presentes em uma tabela do Excel (a planilha que foi carregada para a biblioteca de documentos compartilhados)
  • Então, para cada um dos registros encontrados na planilha, deve-se encontrar o seu respectivo projeto para que o risco seja cadastrado de maneira automática

Para obter a lista de projetos do Project Online foi utilizada a ação ‘Send an HTTP Request to SharePoint’, através do método GET. Para garantir que cada projeto seja obtido de maneira individual, de acordo com os riscos obtidos inicialmente na planilha, foi utilizado um filtro de projeto baseado na coluna ‘Id do Projeto’:


Então, com o projeto devidamente filtrado, uma outra ação ‘Send an HTTP Request to SharePoint’ foi configurada utilizando o métod POST, de forma a cadastrar os riscos no projeto:


Através desse processo de automação, aproximadamente 450 riscos – pertencentes a 80 diferentes projetos – foram criados de maneira automática, salvando algumas boas horas de trabalho manual dos usuários 😊.

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