Capita spesso di dover sviluppare un Flow (Power Automate) in un ambiente di DEV, che punta ad uno specifico sito di SharePoint Online e, al termine dello sviluppo, doverlo spostare e/o far puntare ad un sito di Produzione.
Nativamente Power Automate non mette a disposizione nessuna funzionalità per eseguire questa attività con le connessioni a SharePoint Online.
L'unico modo che ho trovato per superare l'ostacolo è quello di:
questo crea una cartella TestMoveFlowComunications_Edit con dentro altri file e cartelle.
Replace
Usando un editor come Visual Studio Code cercare tutte le occorrenze, in tutti i file, della url del sito SharePoint Online e sostituirle con la nuova url di produzione.
La stessa sostituzione deve essere fatta per ogni GUID delle liste usate nel Flow. Questo perché le liste non vengono salvate con il nome ma con il loro GUID.
Per ricavare il GUID di una lista basta andare nei settings delle lista e guardare la query string
dove con dataset ci si riferisce alla url del sito SharePoint Online e con table al GUID della lista.
Zip
Al termine delle modifiche va ricreato lo zip con il comando windowstar
PowerShell
tar -a -c -f "TestMoveFlowModern_New.zip" -C "\TestMoveFlowComunications_Edit" *
# Compress-Archive -Path .\TestMoveFlowComunications_Edit\*.* -DestinationPath TestMoveFlowModern_New.zip
Attenzione non usare il comando windowsinvia a / cartella compressa per creare lo zip, da errore in fase di import: Something went wrong. Please try again later.
Attenzione il comando Compress-Archive non sembra funzionare sempre, usare tar.
Import error
Rename Flow
Volendo è possibile cercare il nome del Flow e cambiarlo, ad esempio:
Questa operazione può essere utile in caso di import nello stesso ambiente.
Attenzione se si esporta una solution con più Flow e alcuni Flow ne richiamano altri l'operazione di rename potrebbe non funzionare.
Import
A questo punto è possibile importare il nuovo package nello stesso ambiente (enviroment) cambiandogli nome, oppure in un nuovo ambiente:ImportImportPer cambiare nome al package che si sta importando cliccare su Create as new.
Turn on
Attenzione, la prima volta che si importa un Flow è disabilitato, premere Turn on per abilitarlo