Chamar o Power Automate a partir de um script do site
Designs de site são um mecanismo extensibilidade avançados para personalizar e padronização - a aparência de seus conjuntos de sites. Uma das ações script - triggerFlow -podem ser usados para chamar soluções personalizadas para aplicar as configurações que não há suporte nativo. Fluxos do Power Automate também podem ser usados para automação empresarial, nesse caso, usados com designs de site para controlar a criação de sites!
Este artigo descreve como criar um diretório de site simples usando um design de site e o Power Automate. Sempre que um site é criado usando o design do site, os detalhes do site são capturados e escritos em uma lista do SharePoint.
As etapas deste artigo usam os seguintes componentes:
- Uma lista do SharePoint
- Um design e um script de site
- Power Automate
Primeiro, você criará a lista do SharePoint e, em seguida, serão referenciado no seu fluxo do Power Automate – que será acionado pelo design de site que é aplicado após a criação do site.
Criar uma lista de diretório do site
Você precisa configurar a lista que será usada para gravar todos os sites criados usando o design do site pela primeira vez.
Selecione um conjunto de sites para hospedar sua lista.
Criar uma nova lista chamada "sites diretório"
Defina as seguintes configurações:
- webUrl (Hiperlink ou imagem)
- webDescription (linha única de texto)
- creatorName (linha única de texto)
- creatorEmail (linha única de texto)
- createdTimeUTC (linha única de texto)
Criar o fluxo
Para capturar o evento de criação do site e criar o item correspondente na lista, você precisa criar um fluxo – que pode ser referenciado no script do site do seu design de site:
Acesse o site do Power Automate, entre e escolha * + Automatizado — em branco na parte superior da página.
Clique em Ignorar na tela seguinte
Selecione Pesquisar conectores e gatilhos para selecionar seu gatilho
Pesquise Solicitação e escolha Solicitação – Quando uma solicitação HTTP é recebida [PREMIUM]. OBSERVAÇÃO: o gatilho Solicitação agora é PREMIUM e, portanto, exige licenciamento adicional.
Insira o seguinte JSON como corpo da solicitação:
{ "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" } } }
Selecione + Nova Etapa.
Pesquise por criar iteme selecione SharePoint - criar item.
Insira o endereço do site onde a lista acima foi criada.
Selecione a lista de "Diretório de sites" que você criou na etapa anterior.
Insira um valor para o campo Título, esse será o mesmo valor para cada item de lista. Por exemplo: "Contoso Travel: novo site de projeto criado".
Para cada campo no formulário de lista, adicione elemento correspondente no seletor de conteúdo dinâmico. Quando terminar a ação deve ser algo parecido com isto:
Escolha Salvar. Isso gera a URL da postagem de HTTP que será necessária para copiar para a ação
triggerFlow
de script do site.Marque a primeira etapa no fluxo ("Quando uma solicitação HTTP é recebida") e copie a URL.
Salve o fluxo.
Crie o design do site
Abra o PowerShell para confirmar que você tem a versão mais recente do Shell de Gerenciamento do SharePoint Online instalada.
Conecte-se ao seu locatário usando o Connect-SPOService.
Connect-SPOService -Url https://[yourtenant]-admin.sharepoint.com
Agora, você pode ter os designs de site existentes.
Get-SPOSiteDesign
Para criar um design de site, primeiro é necessário criar um script de site. Um design de site é um contêiner que faz referência a um ou mais scripts de site.
Copie o seguinte código JSON para a área de transferência e modifique-o. Defina a propriedade url como o valor copiado quando você criou o fluxo. A URL se parece com o seguinte:
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" } } ] }
Escolha novamente o JSON e copie-o novamente para sua área de transferência.
Abra o PowerShell e insira o seguinte para copiar o script dentro de uma variável e criar o script de site:
$script = Get-Clipboard -Raw Add-SPOSiteScript -Title "Site Script to record site creation event" -Content $script Get-SPOSiteScript
Você verá uma lista de um ou mais scripts de site, incluindo o script de site que você acabou de criar. Selecione a ID do script de site que você criou e copie-a para a área de transferência.
Use o seguinte comando para criar o design de site:
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"
Observação
O cmdlet Add-SPOSiteDesign associa o design de site ao Site de equipe. Se você quiser associar o design a um site de Comunicação, use -WebTemplate "68"
.
Verificar os resultados
Para testar os resultados, crie um novo site. Em seu locatário do SharePoint, escolha SharePoint>Criar Site>Site de Equipe. (Se você tiver desabilitado a criação de sites pessoais, precisará criar o site no Centro de Administração do SharePoint).
O design do novo site deverá aparecer como uma opção de design. Observe que o design de site é aplicado após a criação do site. Se você tiver configurado tudo corretamente, seu fluxo será disparado. Você pode verificar o Histórico de execução do fluxo para observar se ele foi executado corretamente.