Olá pessoal –
Se você é um administrador do Project Online, ou
então um membro do time do Escritório de Projetos, é quase certo que você já
tenha tido a necessidade de construir relatórios e dashboards para prover aos diferentes interessados informações
que a eles sejam relevantes.
Ao construir
relatórios no Project Online, em 99% dos casos deve-se utilizar a api OData para obter os dados –
mas hoje iremos focar no 1% restante.
A Microsoft disponibiliza aos usuários a
possibilidade de se conectar à api ProjectServer
que, de maneira bem resumida, permite que desenvolvedores se conectem ao
Project Online através de aplicações customizadas que tenham a capacidade de ler
e/ou alterar os dados existentes nas diferentes tabelas da plataforma –
conforme os mais variados exemplos que tenho disponibilizado no meu canal do YouTube
e também aqui no blog.
A principal razão para se conectar ao Project Online
através da api ProjectServer é obter informações de bastidores que não estão
disponíveis na api OData, geralmente relacionadas a códigos internos de sistema
que estão associados aos diferentes tipos de objeto. Por exemplo: nesse post eu comentei sobre como é possível escolher o tipo de projeto da
empresa (EPT) ao automatizar o processo de criação de novos projetos via Power
Automate. Os tipos de projeto (e seus respectivos atributos) são objetos que
não estão disponíveis na api padrão (OData), então para obter o Id respectivo
de cada tipo de projeto, é necessário conectar-se à api Project Server.
Conectando-se à api Project Server
Digamos que você tenha a necessidade de descobrir
quais os calendários que estão configurados no seu ambiente, assim como seus
respectivos Ids internos. Para se conectar à api ProjectServer, via Excel ou
Power BI, você poderá se conectar ao seguinte endpoint:
https://<nomedatenant>.sharepoint.com/sites/<nomedainstancia>/_api/ProjectServer
Caso necessário, você deverá entrar com as suas
credenciais para que a plataforma possa garantir que você possui as devidas
permissões para ler os dados. Na janela seguinte, será necessário clicar em Transform
Data para iniciar o processo de transformação dos dados no Power Query:Em seguida você será apresentado às diferentes
entidades disponíveis na api (por exemplo: Calendars, CustomFields,
EnterpriseProjectTypes,...)
Ao clicar no botão de expansão da entidade
desejada, será possível iniciar o processo de transformação das consultas para
obter os registros necessários:Dentro do primeiro nível dos dados expandidos,
ainda é possível seguir ao nível seguinte. Por exemplo, se fosse necessário
descobrir quais as datas de excessão registradas dentro de cada calendário,
bastaria expandir a coluna Calendars.BaseCalendarExceptions:Seguindo a mesma lógica é possível obter
informações detalhadas de inúmeros objetos internos do Project Online, como
campos personalizados, tabelas de pesquisa, dados de workflow e etc. Assim, ao
construir aplicações e/ou automações no Project Online, fica muito mais fácil
se referir a cada um dos objetos que serão utilizados no processo de automação.
Espero
que ajude 😉.