Usar APIs de agendamento do projeto V2 com o Power Automate
Aplica-se a: Project Operations para cenários baseados em recursos/não estocados, Implantação leve – gerenciar faturamento pro forma
Este artigo descreve um fluxo de exemplo que mostra como criar um plano de projeto completo usando o Microsoft Power Automate, como criar um Conjunto de Operações e como atualizar uma entidade. O exemplo mostra como criar um projeto, um membro da equipe do projeto, conjuntos de operações, tarefas de projeto e atribuições de recurso. Este artigo também explica como atualizar uma entidade e executar um conjunto de operações.
O exemplo neste artigo usa a API PssCreateV2. Para obter um exemplo que use a API PssCreateV1, consulte Usar APIs de agendamento do projeto V1 com o Power Automate.
Aqui esta é uma lista completa das etapas documentadas no fluxo de amostra neste artigo:
- Criar um gatilho do PowerApps
- Criar um projeto
- Inicializar uma variável para o membro da equipe
- Criar um membro da equipe genérico
- Criar um Conjunto de Operações
- Criar um bucket do projeto
- Inicializar uma variável para o número de tarefas
- Inicializar uma variável para a ID da tarefa do projeto
- Inicializar uma matriz
- Fazer até
- Definir uma tarefa do projeto
- Adicionar uma tarefa à matriz
- Criar uma atribuição de recurso
- Diminuir uma variável
- Adicionar tarefas e atribuições ao conjunto de operações
- Executar um Conjunto de Operações
Suposições
Este artigo pressupõe que você tenha um conhecimento básico da plataforma Dataverse, dos fluxos da nuvem e da API do agendamento de projetos. Para obter mais informações, consulte a seção Referências mais adiante neste artigo.
Criar um fluxo
Selecionar um ambiente
Você pode criar o fluxo do Power Automate em seu ambiente.
- Vá para https://flow.microsoft.com e use suas credenciais de administrador para entrar.
- No canto superior direito, selecione Ambientes.
- Na lista, selecione o ambiente em que o Dynamics 365 Project Operations está instalado.
Criar uma solução
Siga estas etapas para criar um fluxo com reconhecimento de solução. Ao criar um fluxo com reconhecimento de solução, você pode exportar o fluxo com mais facilidade para usá-lo posteriormente.
- No painel de navegação, selecione Soluções.
- Na página Soluções, selecione Nova solução.
- Na caixa de diálogo Nova solução, defina os campos obrigatórios e selecione Criar.
Etapa 1: Criar um gatilho do PowerApps
- Na página Soluções, selecione a solução que você criou e selecione Novo.
- No painel esquerdo, selecione Fluxos da nuvem>Automação>Fluxo da nuvem>Instantâneo.
- No campo Nome do fluxo, insira Fluxo de Demonstração da API de Agendamento.
- Na lista Escolher como disparar este fluxo, selecione Power Apps. Quando você cria um gatilho do Power Apps, a lógica depende de você como autor. Para o exemplo neste artigo, deixe os parâmetros de entrada em branco para fins de teste.
- Selecione Criar.
Etapa 2: criar um projeto
Siga estas etapas para criar um projeto de amostra.
No fluxo que você criou, selecione Nova etapa.
Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira executar uma ação não associada. Então, na guia Ações, selecione a operação na lista de resultados.
Na nova etapa, selecione as reticências (…) e Renomear.
Renomeie a etapa Criar Projeto.
No campo Nome da Ação, selecione msdyn_CreateProjectV1.
Abaixo do campo msdyn_subject, selecione Adicionar conteúdo dinâmico.
Na guia Expressão, no campo de função, insira concat('Project name - ',utcNow()).
Selecione OK.
Etapa 3: Inicializar uma variável para o membro da equipe
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira inicializar variável. Então, na guia Ações, selecione a operação na lista de resultados.
- Na nova etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Inicializar membro da equipe.
- No campo Nome, insira TeamMemberAction.
- No campo Tipo, selecione Cadeia de caracteres.
- No campo Valor, insira msdyn_CreateTeamMemberV1.
Etapa 4: Criar um membro da equipe genérico
No fluxo, selecione Nova etapa.
Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira executar uma ação não associada. Então, na guia Ações, selecione a operação na lista de resultados.
Na nova etapa, selecione as reticências (…) e Renomear.
Renomeie a etapa Criar Membro da Equipe.
Para o campo Nome da Ação, selecione TeamMemberAction na caixa de diálogo Conteúdo dinâmico.
No campo Parâmetros da Ação, insira as seguintes informações de parâmetros.
{ "TeamMember": { "@@odata.type": "Microsoft.Dynamics.CRM.msdyn_projectteam", "msdyn_projectteamid": "@{guid()}", "msdyn_project@odata.bind": "/msdyn_projects(@{outputs('Create_Project')?['body/ProjectId']})", "msdyn_name": "ScheduleAPIDemoTM1" } }
Aqui está uma explicação dos parâmetros:
- @@odata.type – o nome da entidade. Por exemplo, insira "Microsoft.Dynamics.CRM.msdyn_projectteam".
- msdyn_projectteamid – a chave primária da ID da equipe do projeto. O valor é uma expressão de identificador global exclusivo (GUID). A ID é gerada com base na guia Expressão.
- msdyn_project@odata.bind – a ID do projeto do projeto proprietário. O valor é o conteúdo dinâmico obtido da resposta da etapa "Criar projeto". Certifique-se de inserir o caminho completo e adicionar conteúdo dinâmico entre os parênteses. As aspas são obrigatórias. Por exemplo, insira "/msdyn_projects(ADD DYNAMIC CONTENT)".
- msdyn‑name – o nome do membro da equipe. Por exemplo, insira "ScheduleAPIDemoTM1".
Etapa 5: Criar um Conjunto de Operações
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira executar uma ação não associada. Então, na guia Ações, selecione a operação na lista de resultados.
- Na nova etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Criar um Conjunto de Operações.
- No campo Nome da Ação, selecione a ação personalizada msdyn_CreateOperationSetV1 do Dataverse.
- No campo Descrição, insira ScheduleAPIDemoOperationSet.
- No campo Projeto, selecione ProjectID msdyn_CreateProjectV1Response na caixa de diálogo Conteúdo dinâmico.
Etapa 6: Criar um bucket do projeto
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira adicionar nova linha. Então, na guia Ações, selecione a operação na lista de resultados.
- Na nova etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Criar Bucket.
- No campo Nome da Tabela, selecione Buckets do Projeto.
- No campo Nome, insira ScheduleAPIDemoBucket1.
- No campo Projeto, insira /msdyn_projects(.
- Na caixa de diálogo Conteúdo dinâmico, selecione msdyn_CreateProjectV1Response ProjectId.
- No campo Projeto, insira ).
Etapa 7: Inicializar uma variável para o número de tarefas
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira inicializar variável. Então, na guia Ações, selecione a operação na lista de resultados.
- Na nova etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Inicializar Número de tarefas.
- No campo Nome, insira número de tarefas.
- No campo Tipo, selecione Inteiro.
- No campo Valor, insira 5.
Etapa 8: Inicializar uma variável para a ID da tarefa do projeto
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira inicializar variável. Então, na guia Ações, selecione a operação na lista de resultados.
- Na nova etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Inicializar ProjectTaskID.
- No campo Nome, insira msdyn_projecttaskid.
- No campo Tipo, selecione Cadeia de caracteres.
- Para o campo Valor, insira guid() no Construtor de Expressões.
Etapa 9: inicializar uma matriz
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira inicializar variável. Então, na guia Ações, selecione a operação na lista de resultados.
- Na nova etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Inicializar Matriz.
- No campo Nome, insira Tarefas e Atribuições.
- No campo Tipo, selecione Matriz.
Etapa 10: Fazer até
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira fazer até. Então, na guia Ações, selecione a operação na lista de resultados.
- Defina o primeiro valor na instrução condicional para a variável número de tarefas da caixa de diálogo Conteúdo dinâmico.
- Defina a condição como menor ou igual a.
- Defina o segundo valor na instrução condicional como 0.
Etapa 11: Definir uma tarefa do projeto
- No fluxo, selecione Adicionar uma ação.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira definir variável. Então, na guia Ações, selecione a operação na lista de resultados.
- Na nova etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Definir Tarefa do Projeto.
- No campo Nome, selecione msdyn_projecttaskid.
- Para o campo Valor, insira guid() no Construtor de Expressões.
Etapa 12: adicionar uma tarefa à matriz
No fluxo, selecione Nova etapa.
Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira Acrescentar à matriz.
Na etapa, selecione as reticências (…) e Renomear.
Renomeie a etapa Adicionar Tarefa à Matriz.
No campo Nome, selecione Tarefas e Atribuições.
No campo Valor, insira as informações de parâmetro a seguir.
{ "@@odata.type": "Microsoft.Dynamics.CRM.msdyn_projecttask", "msdyn_projecttaskid": "@{variables('msdyn_projecttaskid')}", "msdyn_project@odata.bind": "/msdyn_projects(@{outputs('Create_Project')?['body/ProjectId']})", "msdyn_subject": "ScheduleAPIDemoTask1", "msdyn_projectbucket@odata.bind": "/msdyn_projectbuckets(@{outputs('Create_Bucket')?['body/msdyn_projectbucketid']})", "msdyn_start": "@{addDays(utcNow(), 1)}", "msdyn_scheduledstart": "@{utcNow()}", "msdyn_scheduledend": "@{addDays(utcNow(), 5)}", "msdyn_LinkStatus": "192350000" }
Aqui está uma explicação dos parâmetros:
- @@odata.type – o nome da entidade. Por exemplo, insira "Microsoft.Dynamics.CRM.msdyn_projecttask".
- msdyn_projecttaskid – a ID exclusiva da tarefa. O valor deve ser definido para uma variável dinâmica de msdyn_projecttaskid.
- msdyn_project@odata.bind – a ID do projeto do projeto proprietário. O valor é o conteúdo dinâmico obtido da resposta da etapa "Criar projeto". Certifique-se de inserir o caminho completo e adicionar conteúdo dinâmico entre os parênteses. As aspas são obrigatórias. Por exemplo, insira "/msdyn_projects(ADD DYNAMIC CONTENT)".
- msdyn_subject – qualquer nome de tarefa.
- msdyn_projectbucket@odata.bind – o bucket do projeto que contém as tarefas. O valor é o conteúdo dinâmico obtido da resposta da etapa "Criar bucket". Certifique-se de inserir o caminho completo e adicionar conteúdo dinâmico entre os parênteses. As aspas são obrigatórias. Por exemplo, insira "/msdyn_projectbuckets(ADICIONAR CONTEÚDO DINÂMICO)".
- msdyn_start – conteúdo dinâmico para a data de início. Por exemplo, amanhã é representado como "addDays(utcNow(), 1)".
- msdyn_scheduledstart – a data de início agendada. Por exemplo, amanhã é representado como "addDays(utcNow(), 1)".
- msdyn_scheduleend – a data de término agendada. Selecione uma data no futuro. Por exemplo, especifique "addDays(utcNow(), 5)".
- msdyn_LinkStatus – O link para a configuração de cobrança. Por exemplo, insira "192350000" se não houver link para a configuração de cobrança ou "192350001" se a configuração de cobrança estiver vinculada.
Etapa 13: Criar uma atribuição de recurso
No fluxo, selecione Adicionar uma ação.
Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira Acrescentar à Matriz.
Na etapa, selecione as reticências (…) e Renomear.
Renomeie a etapa Adicionar Atribuição à Matriz.
No campo Nome, selecione Tarefas e Atribuições.
No campo Valor, insira as informações de parâmetro a seguir.
{ "@@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourceassignment", "msdyn_resourceassignmentid": "@{guid()}", "msdyn_name": "ScheduleAPIDemoAssign1", "msdyn_taskid@odata.bind": "/msdyn_projecttasks(@{variables('msdyn_projecttaskid')})", "msdyn_projectteamid@odata.bind": "/msdyn_projectteams(@{outputs('Create_Team_Member')?['body/TeamMemberId']})", "msdyn_projectid@odata.bind": "/msdyn_projects(@{outputs('Create_Project')?['body/ProjectId']})" }
Etapa 14: Diminuir uma variável
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira diminuir variável. Então, na guia Ações, selecione a operação na lista de resultados.
- No campo Nome, selecione número de tarefas.
- No campo Valor, insira 1.
Etapa 15: adicionar tarefas e atribuições ao conjunto de operações
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira executar uma ação não associada. Então, na guia Ações, selecione a operação na lista de resultados.
- Na etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Adicionar Tarefas e Atribuições ao Conjunto de Operações.
- No campo Nome da Ação, selecione msdyn_PssCreateV2.
- No campo OperationSetId, selecione msdyn_CreateOperationSetV1Response OperationSetId na caixa de diálogo Conteúdo dinâmico.
- No campo EntityCollection, selecione Alternar Entrada para Matriz Inteira.
- No campo EntityCollection, selecione Tarefas e Atribuições na caixa de diálogo Conteúdo dinâmico.
Etapa 16: Executar um Conjunto de Operações
- No fluxo, selecione Nova etapa.
- Na caixa de diálogo Escolher uma operação, no campo de pesquisa, insira executar uma ação não associada. Então, na guia Ações, selecione a operação na lista de resultados.
- Na etapa, selecione as reticências (…) e Renomear.
- Renomeie a etapa Executar um Conjunto de Operações.
- No campo Nome da Ação, selecione msdyn_ExecuteOperationSetV1.
- No campo OperationSetId, selecione msdyn_CreateOperationSetV1Response OperationSetId na caixa de diálogo Conteúdo dinâmico.