Schleifen können innerhalb eines Workflows implementiert werden, um eine Reihe von Aufgaben basierend auf definierten Bedingungen zu wiederholen.
Schleifen werden nacheinander ausgeführt. Maximal 4 Schritte können parallel ausgeführt werden.
Die Schleifenkonfiguration wird entweder im Tab einer Blockkonfiguration oder durch Rechtsklick auf einen Block und Auswahl von aufgerufen.
Die Schleifeneinstellungen erfordern eine Liste von Dingen, auf die zugegriffen werden soll:
-
Einfache, einzelne Werte, die dann in den Aufgabenparametern wie
{{ @item }}verwendet werden können. -
Ein .JSON-Objekt, bei dem jedes Element im Objekt über seinen Schlüssel angesprochen werden kann, wie
{{ @item.key }}.
Zugriff auf die aggregierten Ergebnisse einer Schleife
Die Ausgabe aller Iterationen kann als .JSON-Array zugegriffen werden, sobald eine Schleife abgeschlossen ist. Die Ausgabe jeder Iteration muss eine gültige .JSON-Datei sein.
Es gibt vier Schleifentypen, die definiert werden können und im Feld ausgewählt werden:
-
withSequence
-
mitElementen
-
mitKomplexenElementen
-
withParam
Die mitSequenz Schleife ermöglicht eine Iteration über eine Sequenz von Zahlen oder die Generierung eines Wertebereichs innerhalb eines Workflows.
Sie kann verwendet werden, um eine Reihe von Schritten eine bestimmte Anzahl von Malen zu wiederholen oder Operationen basierend auf einem Wertebereich durchzuführen.
Um eine Beispiel-mitSequenz Schleife zu erstellen, befolgen Sie diese Schritte:
-
Wählen Sie einen leeren Block aus und öffnen Sie die Konfiguration.
-
Klicken Sie auf Schleife bearbeiten.
Konfigurationsoptionen werden angezeigt.
-
Wählen Sie im Feld mitSequenz aus.
-
Geben Sie die Anzahl der Schleifeniterationen in das Feld ein.
-
Optional können Sie einen Wert eingeben, von dem die Schleife starten und/oder enden soll.
-
Klicken Sie auf Schleife speichern.
-
Klicken Sie im Konfigurationsfeld auf Parameter bearbeiten.
Konfigurationsoptionen werden angezeigt.
-
Geben Sie im Feld
{{ @item }}ein und klicken Sie auf Parameter speichern.Dieser Wert wird zur Laufzeit konvertiert.
Wenn die Anzahl beispielsweise auf 3 und der Startwert auf 2 gesetzt ist, lauten die Ergebnisse dieser Schleife:
-
Schleifenliste => ["2", "3", "4"] -
{{ @item }} => 2oder3oder4, basierend auf der Iteration
Die mitElementen Schleife ermöglicht die Iteration über eine Liste von Elementen.
Sie kann verwendet werden, wenn Operationen basierend auf einer Liste von Elementen durchgeführt werden müssen.
Um eine Beispiel-mitElementen Schleife zu erstellen, befolgen Sie diese Schritte:
-
Wählen Sie einen leeren Block aus und öffnen Sie die Konfiguration.
-
Klicken Sie auf Schleife bearbeiten.
Konfigurationsoptionen werden angezeigt.
-
Wählen Sie im Feld mitElementen aus.
-
Geben Sie
enim Feld ein und klicken Sie auf +Element (ein weiteres Feld wird erstellt). -
Geben Sie
deim zweiten Feld ein und erstellen Sie ein drittes Feld. -
Geben Sie
frim dritten Feld ein und erstellen Sie ein viertes Feld. -
Geben Sie
usim vierten Feld ein. -
Klicken Sie auf Schleife speichern.
-
Klicken Sie im Konfigurationsfeld auf Parameter bearbeiten.
Konfigurationsoptionen werden angezeigt.
-
Geben Sie im Feld
{{ @item }}ein und klicken Sie auf Parameter speichern.Dieser Wert wird zur Laufzeit konvertiert.
Die Ergebnisse dieser Schleife sind eine Iteration über eine Liste von Sprachcodes:
-
loop list => ["en", "de", "fr", "ua"] -
{{ @item }} => enoderde .. ua
Die mitKomplexenElementen Schleife ermöglicht das Iterieren über eine Liste von Objekten.
Sie kann verwendet werden, wenn Operationen basierend auf einer Liste von komplexen Elementen durchgeführt werden müssen.
Um eine Beispiel mitKomplexenElementen Schleife zu erstellen, befolgen Sie diese Schritte:
-
Wählen Sie einen leeren Block aus und öffnen Sie die Konfiguration.
-
Klicken Sie auf Schleife bearbeiten.
Konfigurationsoptionen werden angezeigt.
-
Wählen Sie im Feld mitKomplexenElementen aus.
-
Klicken Sie auf +Key:value, um einen zweiten Schlüssel hinzuzufügen.
-
Für geben Sie Folgendes ein:
-
-
: name
-
: Projekt 1
-
-
-
: id
-
: 11
-
-
-
Klicken Sie auf +Object, um ein zweites Objekt hinzuzufügen und +Key:value für einen zweiten Schlüssel.
-
Für geben Sie Folgendes ein:
-
-
: name
-
: Projekt 2
-
-
-
: id
-
: 22
-
Einstellungen Beispiel:
-
-
Klicken Sie im Konfigurationsfeld auf Parameter bearbeiten.
Konfigurationsoptionen werden angezeigt.
-
Geben Sie im Feld
{{ @item.name }}ein und klicken Sie auf Parameter speichern. Dieser Wert wird zur Laufzeit konvertiert.
Die Ergebnisse dieser Schleife werden eine Iteration über eine Liste von Projekten sein:
-
Schleifenliste=>[ { "name": "Projekt 1", "id": 11 }, { "name": "Projekt 2", "id": 22 } ] -
{{ @item }}=>{ "name": "Projekt 1", "id": 11 } -
{{ @item.name }}=>Projekt 1 -
{{ @item.id }}=>11
Die mitParam Schleife ermöglicht die Iteration über eine dynamische Liste, die aus einer vorherigen Aufgabe oder Auslöser ausgegeben wird.
Diese Schleife wird nur als Referenz im Parameterfeld verwendet.
Beispiel:
Ausgaben der Aufgabe (Strings: Veröffentlichen Sie eine Freigabe):
{
"created_at": "2015-01-28T09:52:53Z",
"umgebungen": ["Entwicklung", "Produktion"],
"id": "abcd1234cdef1234abcd1234cdef1234",
"lokalisierungen": [
{
"code": "de-GB",
"id": "abcd1234cdef1234abcd1234cdef1234",
"name": "Deutsch"
},
{
"id": "abcd5678cdef5678abcd5678cdef5678",
"name": "Englisch",
"code": "de_DE"
}
],
"plattformen": ["android"],
"project": {
"created_at": "2015-01-28T09:52:53Z",
"id": "abcd1234cdef1234abcd1234cdef1234",
"main_format": "xml",
"name": "My Android Project",
"updated_at": "2015-01-28T09:52:53Z"
},
"updated_at": "2015-01-28T09:52:53Z",
"version": 1
}
Wenn die Schleifen-Einstellungen mit {{ $.locales }} festgelegt sind, dann:
-
Schleifenliste=>[ { "code": "de-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Deutsch" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "Englisch", "code": "de_DE" } ] -
Erste
{{ @item }}=>{ "code": "de-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Deutsch" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Englisch
Oder wenn {{ $.environments }} referenziert wird, dann:
-
Schleifenliste=>["Entwicklung", "Produktion"] -
{{ @item }}=>EntwicklungoderProduktion