Usar APIs de agendamento do Projeto V1 com Power Automate

Aplica-se a: Operações de projeto integradas ao ERP, Project Operations Core

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 demonstra como criar um projeto, um membro da equipe do projeto, Conjuntos de Operações, tarefas do projeto e atribuições de recursos. Este artigo também explica como atualizar uma entidade e executar um conjunto de operações.

O exemplo neste artigo usa a API PssCreateV1. Para obter um exemplo que usa a API PssCreateV2, consulte V2 Project schedule APIs com Power Automate.

Aqui está uma lista completa das etapas que o fluxo de exemplo neste artigo documenta:

  1. Criar um disparador do Power Apps
  2. Criar um projeto
  3. Inicializar uma variável para o membro da equipe
  4. Criar um membro da equipe genérico
  5. Criar um Conjunto de Operações
  6. Inicializar uma variável para a ID do bucket do projeto
  7. Criar um bucket do projeto
  8. Inicializar uma variável para o número de tarefas
  9. Inicializar uma variável para a ID da tarefa do projeto
  10. Fazer até
  11. Definir uma tarefa do projeto
  12. Criar uma tarefa do projeto
  13. Criar uma atribuição de recurso
  14. Diminuir uma variável
  15. Renomear uma tarefa do projeto
  16. Executar um Conjunto de Operações

Hipóteses

Este artigo pressupõe que você tenha conhecimento básico da plataforma do Dataverse, de fluxos da nuvem e da interface de programação de aplicativo (API) de agendamento de projetos. Para obter mais informações, consulte a seção Referências mais adiante neste artigo.

Criar um fluxo

Selecionar um ambiente

Crie o fluxo de Power Automate em seu ambiente.

  1. Vá para https://flow.microsoft.com e use suas credenciais de administrador para entrar.
  2. No canto superior direito, selecione Ambientes.
  3. Na lista, selecione o ambiente em que 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.

  1. No painel de navegação, selecione Soluções.
  2. Na página Soluções, selecione Nova solução.
  3. Na caixa de diálogo Nova solução, defina os campos obrigatórios e selecione Criar.

Etapa 1: Criar um gatilho de Power Apps

  1. Na página Soluções, selecione a solução que você criou e selecione Novo.
  2. No painel esquerdo, selecione Fluxos da nuvem>Automação>Fluxo da nuvem>Instantâneo.
  3. No campo Nome do fluxo, insira Fluxo de Demonstração da API de Agendamento.
  4. Na lista Choose como disparar esse fluxo, selecione Power Apps. Ao criar um gatilho do Power Apps, você define a lógica. Para o exemplo neste artigo, não adicione parâmetros de entrada para que você possa testar o fluxo com mais facilidade.
  5. Selecione Criar.

Etapa 2: criar um projeto

Siga estas etapas para criar um projeto de amostra.

  1. No fluxo que você criou, selecione Nova etapa.

    Captura de tela da adição de uma nova etapa.

  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.

    Captura de tela da seleção de uma operação.

  3. Na nova etapa, selecione as reticências () e Renomear.

    Captura de tela da renomeação de uma etapa.

  4. Renomeie a etapa Criar Projeto.

  5. No campo Nome da Ação, selecione msdyn_CreateProjectV1.

  6. Abaixo do campo msdyn_subject, selecione Adicionar conteúdo dinâmico.

  7. Na guia Expressão, no campo de função, insira concat('Project name - ',utcNow()).

  8. Selecione OK.

Etapa 3: Inicializar uma variável para o membro da equipe

  1. No fluxo, selecione Nova etapa.
  2. 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.
  3. Na nova etapa, selecione as reticências () e Renomear.
  4. Renomeie a etapa Inicializar membro da equipe.
  5. No campo Nome, insira TeamMemberAction.
  6. No campo Tipo, selecione Cadeia de caracteres.
  7. No campo Valor, insira msdyn_CreateTeamMemberV1.

Etapa 4: Criar um membro da equipe genérico

  1. No fluxo, selecione Nova etapa.

  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.

  3. Na nova etapa, selecione as reticências () e Renomear.

  4. Renomeie a etapa Criar Membro da Equipe.

  5. Para o campo Nome da Ação, selecione TeamMemberAction na caixa de diálogo Conteúdo dinâmico.

  6. 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 a partir da guia de expressão.
    • msdyn_project@odata.bind – a ID do projeto proprietário. Use o conteúdo dinâmico proveniente 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

  1. No fluxo, selecione Nova etapa.
  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.
  3. Na nova etapa, selecione as reticências () e Renomear.
  4. Renomeie a etapa Criar um Conjunto de Operações.
  5. No campo Nome da Ação, selecione a ação personalizada do Dataverse msdyn_CreateOperationSetV1.
  6. No campo Descrição, insira ScheduleAPIDemoOperationSet.
  7. No campo Projeto, na caixa de diálogo Conteúdo dinâmico, selecione msdyn_CreateProjectV1Response ProjectId.

Etapa 6: Inicializar uma variável para ID do bucket do projeto

  1. No fluxo, selecione Nova etapa.
  2. 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.
  3. Na nova etapa, selecione as reticências () e Renomear.
  4. Renomeie a etapa Inicializar ID do bucket do projeto.
  5. No campo Nome, insira ID do bucket do projeto.
  6. No campo Tipo, selecione Cadeia de caracteres.
  7. No campo Valor, insira @{guid()}.

Etapa 7: Criar um bucket do projeto

  1. No fluxo, selecione Adicionar uma ação.

  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.

  3. Na etapa, selecione as reticências () e Renomear.

  4. Renomeie a etapa Criar Bucket.

  5. No campo Nome da Ação, selecione msdyn_PssCreateV1.

  6. No campo Entidade, insira as seguintes informações de parâmetros.

    {
        "@@odata.type": "Microsoft.Dynamics.CRM.msdyn_projectbucket",
        "msdyn_projectbucketid": "@{variables('project bucket id')}",
        "msdyn_name": "ScheduleAPIDemoBucket1",
        "msdyn_project@odata.bind": "/msdyn_projects(@{outputs('Create_Project')?['body/ProjectId']})"
    }
    

    Aqui está uma explicação dos parâmetros:

    • @@odata.type – o nome da entidade. Por exemplo, insira "Microsoft. Dynamics. CRM.msdyn_projectbucket".
    • msdyn_projectbucketid – A ID exclusiva do bucket do projeto. Defina esse valor da variável dinâmica da etapa 6.
    • msdyn_name – o nome do bucket do projeto.
    • msdyn_project@odata.bind – a ID do projeto proprietário. Use o conteúdo dinâmico proveniente 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)".
  7. No campo OperationSetId, selecione msdyn_CreateOperationSetV1Response OperationSetId na caixa de diálogo Conteúdo dinâmico.

Etapa 8: Inicializar uma variável para o número de tarefas

  1. No fluxo, selecione Nova etapa.
  2. 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.
  3. Na nova etapa, selecione as reticências () e Renomear.
  4. Renomeie a etapa Inicializar Número de tarefas.
  5. No campo Nome, insira número de tarefas.
  6. No campo Tipo, selecione Inteiro.
  7. No campo Valor, insira 5.

Etapa 9: Inicializar uma variável para a ID da tarefa do projeto

  1. No fluxo, selecione Nova etapa.
  2. 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.
  3. Na nova etapa, selecione as reticências () e Renomear.
  4. Renomeie a etapa Inicializar ProjectTaskID.
  5. No campo Nome, insira msdyn_projecttaskid.
  6. No campo Tipo, selecione Cadeia de caracteres.
  7. Para o campo Valor, insira guid() no Construtor de Expressões.

Etapa 10: Fazer até

  1. No fluxo, selecione Nova etapa.
  2. 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.
  3. 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.
  4. Defina a condição como menor ou igual a.
  5. Defina o segundo valor na instrução condicional como 0.

Etapa 11: Definir uma tarefa do projeto

  1. No fluxo, selecione Adicionar uma ação.
  2. 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.
  3. Na nova etapa, selecione as reticências () e Renomear.
  4. Renomeie a etapa Definir Tarefa do Projeto.
  5. No campo Nome, selecione msdyn_projecttaskid.
  6. Para o campo Valor, insira guid() no Construtor de Expressões.

Etapa 12: Criar uma tarefa do projeto

Siga estas etapas para criar uma tarefa de projeto que tenha uma ID exclusiva e que pertença ao projeto atual e ao bucket de projeto que você criou.

  1. No fluxo, selecione Nova etapa.

  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.

  3. Na etapa, selecione as reticências () e Renomear.

  4. Renomeie a etapa Criar Tarefa do Projeto.

  5. No campo Nome da Ação, selecione msdyn_PssCreateV1.

  6. No campo Entidade, insira as seguintes informações de parâmetros.

    {
        "@@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(@{variables('project bucket id')})",
        "msdyn_start": "@{addDays(utcNow(), 1)}",
        "msdyn_scheduledstart": "@{utcNow()}",
        "msdyn_scheduledend": "@{addDays(utcNow(), 5)}"
    }
    

    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. Defina o valor como uma variável dinâmica de msdyn_projecttaskid.
    • msdyn_project@odata.bind – a ID do projeto proprietário. Use o conteúdo dinâmico proveniente 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. Use o mesmo valor usado para definir o msdyn_projectbucketid na 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 status do link. Por exemplo, insira "192350000".
  7. No campo OperationSetId, selecione msdyn_CreateOperationSetV1Response OperationSetId na caixa de diálogo Conteúdo dinâmico.

Etapa 13: Criar uma atribuição de recurso

  1. No fluxo, selecione Adicionar uma ação.

  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.

  3. Na etapa, selecione as reticências () e Renomear.

  4. Renomeie a etapa Criar Atribuição.

  5. No campo Nome da Ação, selecione msdyn_PssCreateV1.

  6. No campo Entidade, insira as seguintes informações de parâmetros.

    {
        "@@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']})"
    }
    
  7. No campo OperationSetId, selecione msdyn_CreateOperationSetV1Response OperationSetId na caixa de diálogo Conteúdo dinâmico.

Etapa 14: Diminuir uma variável

  1. No fluxo, selecione Nova etapa.
  2. 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.
  3. No campo Nome, selecione número de tarefas.
  4. No campo Valor, insira 1.

Etapa 15: Renomear uma tarefa do projeto

  1. No fluxo, selecione Nova etapa.

  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.

  3. Na etapa, selecione as reticências () e Renomear.

  4. Renomeie a etapa Renomear Tarefa do Projeto.

  5. No campo Nome da Ação , selecione msdyn_PssUpdateV1.

  6. No campo Entidade, insira as seguintes informações de parâmetros.

    {
        "@@odata.type": "Microsoft.Dynamics.CRM.msdyn_projecttask",
        "msdyn_projecttaskid": "@{variables('msdyn_projecttaskid')}",
        "msdyn_subject": "ScheduleDemoTask1-UpdatedName"
    }
    
  7. No campo OperationSetId, selecione msdyn_CreateOperationSetV1Response OperationSetId na caixa de diálogo Conteúdo dinâmico.

Etapa 16: Executar um Conjunto de Operações

  1. No fluxo, selecione Nova etapa.
  2. Na caixa de diálogo Escolher uma operação , insira executar ação não associada no campo de pesquisa. Então, na guia Ações, selecione a operação na lista de resultados.
  3. Na etapa, selecione as reticências () e Renomear.
  4. Renomeie a etapa Executar um Conjunto de Operações.
  5. No campo Nome da Ação , selecione msdyn_ExecuteOperationSetV1.
  6. No campo OperationSetId, selecione msdyn_CreateOperationSetV1Response OperationSetId na caixa de diálogo Conteúdo dinâmico.

Referências