Использование API расписания проекта V1 с Power Automate
Относится к: Project Operations для сценариев на основе ресурсов/нескладируемых запасов, упрощенное развертывание — от сделки до выставления счетов-фактур
В этой статье описывается пример потока, который показывает, как создать полный план проекта с помощью Microsoft Power Automate, как создать набор операций и как обновить сущность. Пример демонстрирует, как создать проект, участника проектной группы, наборы операций, задачи проекта и назначения ресурсов. В этой статье также объясняется, как обновить сущность и запустить набор операций.
В примере в этой статье используется API PssCreateV1. Пример использования API PssCreateV2 см. в статье Использование API расписания проекта V2 с Power Automate.
Ниже приведен полный список шагов, задокументированных в примере потока в этой статье:
- Создание триггера Power Apps
- Создание проекта
- Инициализация переменной для участника рабочей группы
- Создание универсального участника рабочей группы
- Создание набора операций
- Инициализация переменной для ИД группы проекта
- Создание группы проекта
- Инициализация переменной для количества задач
- Инициализация переменной для ИД задачи проекта
- Цикл "Выполнять до"
- Задание задачи проекта
- Создание задачи проекта
- Создание назначения ресурса
- Уменьшение переменной на 1
- Переименование задачи проекта
- Выполнение набора операций
Предположения
Эта статья предполагает, что у вас есть базовые знания о платформе Dataverse, облачных потоках и API расписания проекта. Дополнительные сведения см. в разделе Ссылки далее в этой статье.
Создание потока
Выберите среду
Вы можете создать поток Power Automate в своей среде.
- Перейдите на страницу https://flow.microsoft.com и выполните вход с учетными данными администратора.
- Выберите Среды в правом верхнем углу.
- В списке выберите среду, в которой установлено приложение Dynamics 365 Project Operations.
Создание решения
Чтобы создать поток, связанный с решением, выполните описанные ниже действия. Создание потока, связанного с решением, упрощает его экспорт для дальнейшего использования.
- В области навигации выберите Решения.
- На странице Решения выберите Новое решение.
- В диалоговом окне Новое решение заполните обязательные поля, затем выберите OK.
Шаг 1. Создание триггера Power Apps
- На странице Решения выберите созданное решение, а затем выберите Создать.
- На левой панели выберите Облачные потоки>Автоматизация>Облачный поток>Мгновенный.
- В поле Имя потока введите Демонстрационный поток для API расписания.
- В списке Выберите способ запуска для этого потока выберите Power Apps. При создании триггера Power Apps логику целиком определяете вы как автор. В примере в этой статье оставьте входные параметры пустыми для целей тестирования.
- Выберите Создать.
Шаг 2. Создание проекта
Выполните следующие действия, чтобы создать пример проекта.
В созданном потоке выберите Новый шаг.
В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
В новом шаге выберите многоточие (...), а затем выберите Переименовать.
Переименуйте шаг в Создание проекта.
В поле Имя действия выберите msdyn_CreateProjectV1.
Под полем msdyn_subject выберите Добавить динамическое содержимое.
На вкладке Выражение в поле функции введите concat('Имя проекта -',utcNow()).
Выберите OK.
Шаг 3. Инициализация переменной для участника рабочей группы
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите инициализировать переменную. Затем на вкладке Действия выберите операцию в списке результатов.
- В новом шаге выберите многоточие (...), а затем выберите Переименовать.
- Переименуйте шаг в Инициализация участника рабочей группы.
- В поле Имя введите TeamMemberAction.
- В поле Тип выберите Строка.
- В поле Значение введите msdyn_CreateTeamMemberV1.
Шаг 4. Создание универсального участника рабочей группы
В потоке выберите Новый шаг.
В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
В новом шаге выберите многоточие (...), а затем выберите Переименовать.
Переименуйте шаг в Создание участника рабочей группы.
Для поля Имя действия выберите TeamMemberAction в диалоговом окне Динамическое содержимое.
В поле Параметры действия введите следующую информацию для параметров.
{ "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" } }
Что представляют собой параметры:
- @@odata.type — имя сущности. Например, введите "Microsoft.Dynamics.CRM.msdyn_projectteam".
- msdyn_projectteamid — первичный ключ идентификатора проектной группы. Значение представляет собой выражение глобального уникального идентификатора (GUID). Идентификатор генерируется на вкладке выражения.
- msdyn_project@odata.bind — идентификатор календаря проекта. Значением будет динамическое содержимое, полученное из ответа шага «Создание проекта». Убедитесь, что вы ввели полный путь и добавили динамическое содержимое в скобках. Кавычки обязательны. Например, введите "/msdyn_projects(ДОБАВЬТЕ ДИНАМИЧЕСКОЕ СОДЕРЖИМОЕ)".
- msdyn_name — имя участника рабочей группы. Например, введите "ScheduleAPIDemoTM1".
Шаг 5. Создание набора операций
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
- В новом шаге выберите многоточие (...), а затем выберите Переименовать.
- Переименуйте шаг в Создание набора операций.
- В поле Имя действия выберите пользовательское действие msdyn_CreateOperationSetV1 Dataverse.
- В поле Описание введите ScheduleAPIDemoOperationSet.
- В поле Проект в диалоговом окне Динамическое содержимое выберите msdyn_CreateProjectV1Response ProjectId.
Шаг 6. Инициализация переменной для ИД группы проекта
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите инициализировать переменную. Затем на вкладке Действия выберите операцию в списке результатов.
- В новом шаге выберите многоточие (...), а затем выберите Переименовать.
- Переименуйте шаг в Инициализация ИД группы проекта.
- В поле Имя введите ид группы проекта.
- В поле Тип выберите Строка.
- В поле Значение введите @{guid()}.
Шаг 7. Создание группы проекта
В потоке выберите Добавить действие.
В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
В шаге выберите многоточие (...), а затем выберите Переименовать.
Переименуйте шаг в Создание группы.
-
- В поле Имя действия выберите msdyn_PssCreateV1.
В поле Сущность введите следующую информацию для параметров.
{ "@@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']})" }
Что представляют собой параметры:
- @@odata.type — имя сущности. Например, введите "Microsoft.Dynamics.CRM.msdyn_projectbucket".
- msdyn_projectbucketid — уникальный идентификатор сегмента проекта. Значение должно быть установлено из динамической переменной из шага 6.
- msdyn_name — имя группы проекта.
- msdyn_project@odata.bind — идентификатор календаря проекта. Значением будет динамическое содержимое, полученное из ответа шага «Создание проекта». Убедитесь, что вы ввели полный путь и добавили динамическое содержимое в скобках. Кавычки обязательны. Например, введите "/msdyn_projects(ДОБАВЬТЕ ДИНАМИЧЕСКОЕ СОДЕРЖИМОЕ)".
Для поля OperationSetId выберите msdyn_CreateOperationSetV1Response OperationSetId в диалоговом окне Динамическое содержимое.
Шаг 8. Инициализация переменной для количества задач
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите инициализировать переменную. Затем на вкладке Действия выберите операцию в списке результатов.
- В новом шаге выберите многоточие (...), а затем выберите Переименовать.
- Переименуйте шаг в Инициализация количества задач.
- В поле Имя введите количество задач.
- В поле Тип выберите Целое число.
- В поле Значение введите 5.
Шаг 9. Инициализация переменной для ИД задачи проекта
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите инициализировать переменную. Затем на вкладке Действия выберите операцию в списке результатов.
- В новом шаге выберите многоточие (...), а затем выберите Переименовать.
- Переименуйте шаг в Инициализация ИД задачи проекта.
- В поле Имя введите msdyn_projecttaskid.
- В поле Тип выберите Строка.
- Для поля Значение введите guid() в построителе выражений.
Шаг 10. Цикл "выполнять до"
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите выполнять до. Затем на вкладке Действия выберите операцию в списке результатов.
- Установите первое значение в условном операторе равным переменной количество задач из диалогового окна Динамическое содержимое.
- В качестве условия выберите меньше или равно.
- Установите второе значение в условном операторе равным 0.
Шаг 11. Задание задачи проекта
- В потоке выберите Добавить действие.
- В диалоговом окне Выберите операцию в поле поиска введите задать переменную. Затем на вкладке Действия выберите операцию в списке результатов.
- В новом шаге выберите многоточие (...), а затем выберите Переименовать.
- Переименуйте шаг в Задание задачи проекта.
- В поле Имя выберите msdyn_projecttaskid.
- Для поля Значение введите guid() в построителе выражений.
Шаг 12. Создание задачи проекта
Выполните следующие действия, чтобы создать задачу проекта с уникальным идентификатором, принадлежащим к текущему проекту и созданной вами группе проекта.
В потоке выберите Новый шаг.
В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
В шаге выберите многоточие (...), а затем выберите Переименовать.
Переименуйте шаг в Создание задачи проекта.
В поле Имя действия выберите msdyn_PssCreateV1.
В поле Сущность введите следующую информацию для параметров.
{ "@@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)}" }
Что представляют собой параметры:
- @@odata.type — имя сущности. Например, введите "Microsoft.Dynamics.CRM.msdyn_projecttask".
- msdyn_projecttaskid — уникальный идентификатор задачи. Значение должно быть установлено равным динамической переменной из msdyn_projecttaskid.
- msdyn_project@odata.bind — идентификатор календаря проекта. Значением будет динамическое содержимое, полученное из ответа шага «Создание проекта». Убедитесь, что вы ввели полный путь и добавили динамическое содержимое в скобках. Кавычки обязательны. Например, введите "/msdyn_projects(ДОБАВЬТЕ ДИНАМИЧЕСКОЕ СОДЕРЖИМОЕ)".
- msdyn_subject — любое имя задачи.
- msdyn_projectbucket@odata.bind — группа проекта, содержащая задачи. Это то же значение, которое использовалось для установки msdyn_projectbucketid на шаге «Создать группу». Убедитесь, что вы ввели полный путь и добавили динамическое содержимое в скобках. Кавычки обязательны. Например, введите "/msdyn_projectbuckets(ДОБАВЬТЕ ДИНАМИЧЕСКОЕ СОДЕРЖИМОЕ)".
- msdyn_start — динамическое содержимое для даты начала. Например, завтрашний день будет представлен как "addDays(utcNow(), 1)".
- msdyn_scheduledstart — запланированная дата начала. Например, завтрашний день будет представлен как "addDays(utcNow(), 1)".
- msdyn_scheduleend — запланированная дата окончания. Выберите дату в будущем. Например, укажите "addDays(utcNow(), 5)".
- msdyn_LinkStatus — состояние ссылки. Например, введите "192350000".
Для поля OperationSetId выберите msdyn_CreateOperationSetV1Response OperationSetId в диалоговом окне Динамическое содержимое.
Шаг 13. Создание назначения ресурса
В потоке выберите Добавить действие.
В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
В шаге выберите многоточие (...), а затем выберите Переименовать.
Переименуйте шаг в Создание назначения.
В поле Имя действия выберите msdyn_PssCreateV1.
В поле Сущность введите следующую информацию для параметров.
{ "@@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']})" }
Для поля OperationSetId выберите msdyn_CreateOperationSetV1Response OperationSetId в диалоговом окне Динамическое содержимое.
Шаг 14. Уменьшение переменной на 1
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите уменьшить переменную. Затем на вкладке Действия выберите операцию в списке результатов.
- В поле Имя выберите количество задач.
- В поле Значение введите 1.
Шаг 15. Переименование задачи проекта
В потоке выберите Новый шаг.
В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
В шаге выберите многоточие (...), а затем выберите Переименовать.
Переименуйте шаг в Переименование задачи проекта.
В поле Имя действия выберите msdyn_PssUpdateV1.
В поле Сущность введите следующую информацию для параметров.
{ "@@odata.type": "Microsoft.Dynamics.CRM.msdyn_projecttask", "msdyn_projecttaskid": "@{variables('msdyn_projecttaskid')}", "msdyn_subject": "ScheduleDemoTask1-UpdatedName" }
Для поля OperationSetId выберите msdyn_CreateOperationSetV1Response OperationSetId в диалоговом окне Динамическое содержимое.
Шаг 16. Выполнение набора операций
- В потоке выберите Новый шаг.
- В диалоговом окне Выберите операцию в поле поиска введите выполнить несвязанное действие. Затем на вкладке Действия выберите операцию в списке результатов.
- В шаге выберите многоточие (...), а затем выберите Переименовать.
- Переименуйте шаг в Выполнение набора операций.
- В поле Имя действия выберите msdyn_ExecuteOperationSetV1.
- Для поля OperationSetId выберите msdyn_CreateOperationSetV1Response OperationSetId в диалоговом окне Динамическое содержимое.