Olá pessoal –
Dia desses um cliente me enviou um e-mail com o
seguinte requerimento:
“Precisamos automatizar alguns
processos internos para que, quando o projeto atingir determinado estágio do workflow
no Project Online, uma série de e-mails sejam disparados para alguns usuários-chave.
Além disso, as informações capturadas no termo de aberta do projeto também deverão
ser transferidas para um documento, que será enviado como anexo para o nosso
grupo de executivos”.
Mamão com açúcar, pensei. Lá no meu canal no
YouTube eu já falei sobre como automatizar o processo de envio de notificações no Project Online com o Power Automate, e também já havia publicado dois vídeos falando
sobre como enviar dados do projeto para um documento. Porém, quando fui colocar a mão na massa,
esbarrei num cenário inesperado...
Neste exemplo, após um projeto ser publicado, estamos passando o parâmetro do Id interno do projeto para a requisição HTTP, com o objetivo de obter o estágio atual do projeto publicado. Quando o flow é executado, temos como resposta o seguinte erro:
O erro apresentado é o seguinte:
"The type
'ReportingData.ProjectWorkflowStageData' specified in the URI is neither a base
type nor a sub-type of the previously-specified type
'ReportingData.Project'."
Após quebrar muito a cabeça para entender o motivo de os dados do workflow não estarem disponíveis, decidi fazer uma tentativa usando a api REST do Project Server:
A instrução uri que deve ser utilizada é a
seguinte:
/_api/ProjectServer/Projects(‘<parâmetro
do id do projeto>’)?$Select=Stage/Name&$Expand=Stage
Ao rodar o flow, temos o resultado esperado:
A partir daí é possível dar continuidade ao flow,
determinando todas as ações que devem ser executadas na sequência, de acordo
com o estágio em que o projeto se encontra.
Pois é, por hora é isso. Mesmo este sendo um
post mais curto e simples, acabou sendo bastante útil pra mim na resolução do
requerimento de negócio que tinha. Então, espero que seja útil para você também
😊