Rufen Sie frühere Versionen von SharePoint-Listenelementen in Flow ab

  1. Home
  2. Wissensdatenbank
  3. Microsoft 365
  4. SharePoint
  5. Rufen Sie frühere Versionen von SharePoint-Listenelementen in Flow ab
  1. Home
  2. Wissensdatenbank
  3. Microsoft 365
  4. Power Automate
  5. Rufen Sie frühere Versionen von SharePoint-Listenelementen in Flow ab

In Flow gibt es noch keine Aktion, um auf den Versionsverlauf von SharePoint-Listenelementen (oder Dokumenten) zuzugreifen. Wie können wir also zu älteren Versionen eines Listenelements in Flow gelangen, einschließlich aller alten Spaltenwerte? Ein Kunde hat heute gefragt, ob es eine Möglichkeit gibt, mit einem Flow zu erkennen, ob sich eine bestimmte Spalte geändert hat (bei Artikeländerung), und dann … Dinge zu tun.

Zum Glück haben wir alles, was wir brauchen, um dies mit Hilfe unseres besten Freundes zu erreichen: Senden Sie eine HTTP-Anfrage an SharePoint.

Hier sind die Hauptschritte:
Auslöser für ein Element, das von geändert erstellt wurde, Triggerbedingung hinzufügen, damit es beim Erstellen nicht ausgelöst wird (da dies unnötige Läufe auslöst)
Berechnen Sie die vorherige Versionsnummer, damit wir wissen, nach welcher Version wir suchen müssen
Rufen Sie mithilfe der HTTP-Anforderung alle SharePoint-Listenelementversionen von SharePoint ab
Analysieren Sie das Ergebnis (JSON) aus SharePoint
Schleifen Sie alle Versionen und ziehen Sie die gewünschte Version heraus (vorherige Version)
Sachen machen.

Konfigurieren Sie den Trigger mit Bedingung
Gehen Sie zunächst zu den Einstellungen des Triggerschritts:

Fügen Sie dann die folgende Bedingung hinzu, um sicherzustellen, dass der Flow nur ausgeführt wird, wenn die Version NICHT 1.0 ist:

not(contains(triggerBody()?[‘{VersionNumber}’],’1.0′))

Berechnen Sie die vorherige Nummer
Der nächste Schritt besteht darin, die vorherige Zahl mithilfe einer Aktion „Verfassen“ zu berechnen. Wir können dies tun, indem wir den Unterausdruck mit einer verschachtelten int-Funktion verwenden, um die Versionsnummer in eine Ganzzahl zu konvertieren (so dass ’sub‘ zwei Ganzzahlen zum Arbeiten erhält). Und dann fügen wir nach dem Ausdruck einfach „.0“ hinzu, um das richtige Format zu erhalten („2.0“ und nicht nur „2“).

sub(int(triggerBody()?[‘{VersionNumber}’]),1)

Rufen Sie SharePoint auf und rufen Sie den Versionsverlauf der SharePoint-Liste ab
Um die Version unseres Listenelements zu erhalten, rufen wir HTTP auf und übergeben die ID des Listenelements. Beachten Sie, dass der Titel der Liste der Anzeigename und nicht der Systemname / die URL ist. Selbst wenn Sie ein guter Entwickler waren und der Liste den Systemnamen „catvisitorslog“ gegeben haben, um eine schöne und saubere URL zu erhalten, möchte der HTTP-Aufruf „cat Besucher Log“.

Analysieren Sie das JSON-Ergebnis
Dieser ist etwas kniffliger, wenn Sie zuvor noch nicht mit JSON gearbeitet haben. Bevor Sie die Aktion selbst hinzufügen. Speichern Sie den Flow und führen Sie ihn aus, um zu testen, ob der HTTP-Aufruf zum Abrufen von Versionen funktioniert. Kopieren Sie dann den gesamten JSON-Block aus dem Body-Abschnitt unter den Ausgaben:

Gehen Sie dann zurück, um den Ablauf zu bearbeiten, und fügen Sie die Aktion JSON analysieren hinzu. Fügen Sie den Ausgabetext aus dem HTTP-Aufruf „Versionen abrufen“ als Inhalt hinzu und klicken Sie dann auf „Beispielnutzlast verwenden …“, um den gerade kopierten JSON-Code einzufügen. Dadurch wird dem Flow mitgeteilt, wie die Datenstruktur aussieht und wie sie analysiert wird.

Alle Versionen schleifen und … Sachen tun Unser letzter Schritt besteht darin, die Versionen zu durchlaufen, die wir gerade analysiert haben, zu ermitteln, welche Version wir ziehen möchten, und dann etwas zu tun. In diesem Beispiel speichere ich den Wert der Spalte „Bürostandort“, um zu sehen, wo sich etwas entfernt hat. Erstellen Sie zunächst für jede eine Apply und geben Sie die Ergebnisse aus der „Parse VersionHistory from JSON“ an, da diese alle unsere Versionen enthält. Fügen Sie dann eine Bedingung hinzu, die das VersionLabel aus dem geloopten Element übernimmt (unter „Parse VersionHistory from JSON“), und vergleichen Sie diese mit der Ausgabe des zuvor erstellten Schritts „Calculate PreviousVersionNumber“. Dadurch wird jede Schleife auf die Version überprüft Die Nummer der Schleife ist in der Tat die vorherige Version, auf die wir abzielen möchten. Wenn beispielsweise 4 Versionen des Elements vorhanden sind, wird die Version 1.0, 2.0 durchlaufen und auf false validiert. Wenn sie jedoch auf 3.0 kommt, wird sie auf validiert wahr und wir können anfangen, unsere Magie zu wirken! In diesem Beispiel greife ich nur nach dem Wert für Bürostandort und Speichern für weitere Logik. Wenn Sie es also ausführen, erhalten Sie den Standortwert:

Quelle: https://www.catapultsystems.com/blogs/get-previous-versions-of-sharepoint-list-items-in-flow/

War dieser Artikel hilfreich?

Ähnliche Artikel

Noprob.it

Kostenfrei
Ansehen