Olá pessoal –
No meu canal no YouTube tenho
procurado explorar diferentes cenários de integração do Power Automate com o
Project Online, com o objetivo de otimizar e
automatizar alguns processos de gerenciamento de projetos que são executados no
contexto da solução PPM da Microsoft. É importante lembrar que aqui no blog
também há vários
posts que complementam os vídeos.
Com base no aprendizado que venho obtendo ao
explorar cada um dos cenários, e depois de bater muito a cabeça para descobrir
como as coisas se encaixam, resolvi publicar aqui no blog algumas das lições
aprendidas durante a jornada, para que fique registrado (caso eu precise
pesquisar novamente no futuro 😊) e também para ajudar alguém
que eventualmente precise fazer algo parecido.
Nesse sentido pretendo publicar, ao longo das
próximas semanas, uma série de posts que contemplem diferentes formas de
integração entre o Power Automate e o Project Online.
Atualizando campos nativos: nome do projeto
Uma determinada empresa possui códigos internos para os projetos, que são gerados no SAP (mas que poderiam ser gerados em qualquer outro sistema)
Uma vez gerados os códigos internos, esses são enviados para uma lista do SharePoint
Quando um novo projeto for criado no Project Online, o Power Automate deverá pesquisar por esse projeto na lista do SharePoint, para então atualizar o nome do projeto adicionando o número SAP como prefixo (ou seja, combinando o número SAP com o nome com o qual o projeto foi originalmente cadastrado).
É importante ressaltar que esse é um exemplo baseado
em um cenário hipotético, com fins meramente ilustrativos. O ideal é que você
possa absorver os conceitos e então aplicá-los, ajustando-os conforme as
necessidades específicas.
Em resumo, temos:
1. O gatilho utilizado foi ‘When a new project
is created’’. Em seguida estou usando uma ação ‘Delay until’ para
pausar o flow por alguns minutos. Como esse é um exemplo para fins didáticos, podemos
dizer que é ok, mas é evidente que não poderia ser aplicado em um ambiente
produtivo. No mundo real, o mais adequado seria aguardar até que o check-in do
projeto fosse efetuado, para termos a garantia de que o criador do projeto
preencheu todos os campos e saiu efetivamente do projeto, liberando-o para ser
modificado pelo flow
3. Então, para cada item encontrado na lista do
SharePoint, teremos de efetuar o check-out do projeto. Vale reiterar, uma vez
mais, que como esse exemplo trata apenas de fins didáticos, estou pulando algumas
etapas. Mas se fóssemos considerar o mundo real seria preciso validar se o
projeto encontra-se em check-in antes de prosseguir com a ação de efetuar o
check-out
Caso você queira aprender mais sobre requisições
HTTPS no Project Online, poderá consultar esse link.
Abaixo as intruções completas que foram
utilizadas no processo de atualização:
……………………………………………………………………….
Site Address: Utilize a URL do seu PWA
Method: PATCH
Uri: /_api/ProjectServer/Projects(' <Id do projeto>
')/Draft/
Headers:
Content-Type |
application/json;odata=nometadata
IF-MATCH | *
Accept | application/json;odata=nometadata
Body:
{
"Name":"
<campo da lista do
SharePoint> - <nome
do projeto> "
}
……………………………………………………………………….
Lembrando que os items destacados em amarelo são
os campos obtidos nas ações anteriores do flow.
Por fim, a última ação deverá publicar o projeto
e efetuar o check-in, para garantir que todas as atualizações ocorram de
maneira adequada.
Muito bom!
ResponderExcluirRaphael, tem alguma ideia de como eu atualizo campos de Read Only? Pelo método que você utiliza somente alguns campos podem ser alterados, só que caso eu queria atualizar, por exemplo, a duração restante e a real, eu não consigo. Existe alguma maneira de "forçar" a atualização desses campos de Read Only através do automate?
ResponderExcluir