Вызов Power Automate из сценария сайта
Макеты сайта — это мощный расширяемый механизм, предназначенный для настройки - и стандартизации - внешнего вида вашего семейства веб-сайтов. Одно из действий скрипта - triggerFlow - можно использовать для вызова индивидуальных решений для применения конфигураций, которые мы не поддерживаем изначально. Потоки Power Automate также можно использовать для автоматизации бизнеса - в этом случае они используются вместе с дизайном сайтов для отслеживания создания сайтов!
В этой статье описывается, как создать простой каталог сайта, используя дизайн сайта и Power Automate. Всякий раз, когда сайт создается с использованием этого дизайна сайта, сведения о сайте собираются и записываются в список SharePoint.
В этой статье проиллюстрировано использование следующих компонентов:
- Список SharePoint
- макет и скрипт сайта;
- Power Automate
Сначала вы создадите список SharePoint, а затем на него будет ссылаться ваш поток Power Automate, который будет вызван дизайном сайта, примененным после создания сайта.
Создание списка каталога вашего сайта
Необходимо сначала настроить список, который будет использоваться для записи всех сайтов, созданных с помощью этого макета сайта.
Выберите семейство веб-сайтов для размещения списка.
Создайте новый список под названием «Каталог сайта»
Настройте следующие поля:
- webUrl (Гиперссылка или рисунок)
- webDescription (однострочный текст)
- creatorName (однострочный текст)
- creatorEmail (однострочный текст)
- createdTimeUTC (однострочный текст)
Создание потока
Чтобы захватить событие создания сайта и создать соответствующий элемент списка, вам нужно создать поток, на который можно сослаться в сценарии сайта вашего дизайна сайта:
Откройте сайт Power автоматизированного, войдите в систему и выберите пункт *+ автоматически — из пустых в верхней части страницы.
Нажмите Пропустить на следующем экране.
Выберите Поиск соединителей и триггеров, чтобы выбрать свой триггер
Найдите запрос, а затем выберите Запрос - при получении HTTP-запроса [Премиум]. ПРИМЕЧАНИЕ: Триггер запроса теперь Премиум и, следовательно, потребует дополнительного лицензирования.
Введите следующий код JSON в теле запроса:
{ "type": "object", "properties": { "webUrl": { "type": "string" }, "parameters": { "type": "object", "properties": { "event": { "type": "string" }, "product": { "type": "string" } } }, "webDescription": { "type": "string" }, "creatorName": { "type": "string" }, "creatorEmail": { "type": ["string", "null"] }, "createdTimeUTC": { "type": "string" } } }
Выберите + Новый шаг.
Найдите Создать элементи выберите SharePoint — создать элемент.
Введите адрес сайта, в котором был создан в списке выше.
Выберите список «Каталог сайта», который вы создали в предыдущем шаге.
Введите значение в поле Название - это будет одинаковое значение для каждого элемента списка. Например: «Contoso Travel: создан новый сайт проекта».
Для каждого поля в форме списка добавьте соответствующий элемент из средства выбора динамического контента. В результате ваше действие должно выглядеть примерно так:
Нажмите кнопку Сохранить. При этом создается URL-адрес HTTP Post, который вам нужно будет скопировать для действия
triggerFlow
сценария сайта.Выберите первый шаг потока ("При получении HTTP-запроса") и скопируйте URL-адрес.
Сохраните поток.
Создание макета сайта
Откройте PowerShell и убедитесь, что установлена последняя консоль управления SharePoint Online.
Подключитесь к клиенту, используя командлет Connect-SPOService.
Connect-SPOService -Url https://[yourtenant]-admin.sharepoint.com
Теперь вы можете получить имеющиеся макеты сайта.
Get-SPOSiteDesign
Чтобы создать макет сайта, необходимо создать скрипт сайта. Макет сайта — это контейнер, который ссылается на один или несколько скриптов.
Скопируйте приведенный ниже код JSON в буфер обмена и измените его. Задайте для свойства url значение, скопированное при создании потока. URL-адрес будет выглядеть примерно так, как показано ниже.
https://prod-27.westus.logic.azure.com:443/workflows/ef7434cf0d704dd48ef5fb6...oke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun
{ "$schema": "schema.json", "actions": [ { "verb": "triggerFlow", "url": "[paste the workflow trigger URL here]", "name": "Record site creation event", "parameters": { "event": "site creation", "product": "SharePoint Online" } } ] }
Еще раз выделите JSON и скопируйте его в буфер обмена.
Откройте консоль PowerShell и введите следующую команду, чтобы скопировать скрипт в переменную и создать скрипт сайта:
$script = Get-Clipboard -Raw Add-SPOSiteScript -Title "Site Script to record site creation event" -Content $script Get-SPOSiteScript
Появится список из одного или нескольких скриптов сайта, включая только что созданный. Выделите идентификатор созданного скрипта сайта и скопируйте его в буфер обмена.
Создайте макет сайта, используя следующую команду:
Add-SPOSiteDesign -Title "Record site creation" -Description "The creation of this site will be recorded in the site directory list" -SiteScripts [Paste the ID of the Site Script here] -WebTemplate "64"
Примечание.
Командлет Add-SPOSiteDesign связывает макет с сайтом группы. Если вы хотите связать дизайн с коммуникационным сайтом, используйте -WebTemplate "68"
.
Проверка результатов
Чтобы проверить результаты, создайте новый сайт. В клиенте SharePoint выберите SharePoint>Создать сайт>Сайт группы. (Если вы отключили создание сайтов самообслуживания, вам нужно будет создать сайт из Центра администрирования SharePoint.)
Новый макет сайта должен появиться в списке доступных макетов. Обратите внимание, что макет сайта применяется после создания сайта. Если поток настроен правильно, он будет активирован. Вы можете проверить работу потока, просмотрев журнал выполнения.