komplexe Flows in Lösungen klonen
Für die Power Platform ist die Lösung bzw. Solution das Mittel der Wahl, um professionelles Application Lifecyle Management (ALM) zu betreiben. Das gilt auch für die Flows. Leider erlaubt die Oberfläche zwar ein "Save As" von existierenden Flows, aber es ist aktuell nicht möglich die Flows wieder zu einer existierenden Lösung hinzuzufügen. Wir demonstrieren das Kopieren von Power Automate Flows innerhalb von Solutions.
Für einfache Flows ist die Nutzung des Preview Feature Copy/Paste von Actions die einfachste Möglichkeit, das Problem zu umgehen. Bei komplexeren Flows taugt das Vorgehen nicht wirklich und das Ganze wird schon ärgerlicher.
Zum Glück gibt es einen Workaround via Postman. Der Workaround ist hier beschrieben: Copy/Duplicate a Flow in a Solution. Leider ist die Beschreibung nicht so detailliert, so dass hier erforderliche Screenshots ergänzt wurden, um diesen absolut hilfreichen Workaround auch für Citizen Developer nutzbar zu machen.
1. Anlegen eines Clone Destination Flows
In der existierenden Lösung wird ein neuer Flow erstellt, der das Ziel der Klon- bzw. Kopieraktion wird. Hier wurde ein manueller Trigger mit einer einfachen Compose Aktion gewählt. Der Inhalt spielt hier keine Rolle, da er am Ende über den Postman Call überschrieben wird.
2. Speichern des Clone Destination Flows - Ermittlung URI und Bearer Token
Um die URI und den Bearer Token für den Postman Aufruf zu erhalten, werden die Entwickler Tools geöffnet (F12) und danach der Destination Flow gespeichert.
Es könnten mehrere Requests getraced werden, so dass geprüft werden muss, welcher Request den PATCH auslöst. Die Request Method gibt darüber Aufschluss. Weiter unten findet man unter Authentication den Bearer Token. Die Request URL und den Bearer Token sollte man kopieren und zwischenspeichern.
ACHTUNG: Versehentlich kopierte Leerzeichen und Zeilenumbrüche löschen!
2. Speichern des Quell Flows - Ermittlung Request Body
Um den Request Boday für den Postman Aufruf zu erhalten, werden die Entwickler Tools geöffnet (F12) und danach der Quell Flow gespeichert.
Wie beim ersten mal könnten mehrere Requests getraced werden, so dass geprüft werden muss, welcher Request den PATCH auslöst. Die Request Method gibt darüber Aufschluss. Weiter unten findet man unter Request Payload den benötigten Body. Auch der Body sollte kopiert und zwischenspeichert werden.
3. Zusammenbau des Postman Requests
Im Postman erstellt man nun einen neuen Request.
Danach muss die Authorization auf "Bearer Token" gesetzt und der vorher gespeicherte Wert des Bearer Token eingefügt werden.
Jetzt müssen noch die folgende Daten eingetragen werden:
- Request URL des Clone Flows
- Bodyformat auf RAW setzen
- Format auf JSON
- Request Body des Quell Flows
- Displayname ersetzen
Dann muss in Postman per Send Button der Request losgesendet werden. Im Erfolgsfall erhält man den Status 200 zurück und im Clone Flow ist folgendes zu sehen 🙂
Fazit
Der Workaround spart wertvolle Arbeitszeit. Ist das Prinzip erst einmal verinnerlicht, sollte das Kopieren bzw. Klonen von Postman Flows sehr zügig gehen.