Schleifen können innerhalb eines Workflows implementiert werden, um eine Reihe von Aufgaben basierend auf definierten Bedingungen zu wiederholen.
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 Key wie
{{ @item.key }}angesprochen werden kann.
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
-
withItems
-
withComplexItems
-
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.
Die Konfigurationsoptionen für werden angezeigt.
-
Wählen Sie im -Feld withSequence 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 in der -Konfiguration 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 beispielsweise die Anzahl 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.
Die Konfigurationsoptionen für werden angezeigt.
-
Wählen Sie im -Feld mitElementen aus.
-
Geben Sie
enin das -Feld ein und klicken Sie auf +Element (ein weiteres -Feld wird erstellt). -
Geben Sie
dein das zweite -Feld ein und erstellen Sie ein drittes Feld. -
Geben Sie
frin das dritte -Feld ein und erstellen Sie ein viertes Feld. -
Geben Sie
usin das vierte -Feld ein. -
Klicken Sie auf Schleife speichern.
-
Klicken Sie in der -Konfiguration 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 werden eine Iteration über eine Liste von Sprachcodes sein:
-
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.
Die Konfigurationsoptionen für werden angezeigt.
-
Wählen Sie im Feld mitKomplexenElementen aus.
-
Klicken Sie auf +Key:Wert, um einen zweiten Schlüssel hinzuzufügen.
-
Für geben Sie Folgendes ein:
-
-
: Name
-
: Projekt 1
-
-
-
: id
-
: 11
-
-
-
Klicken Sie auf +Objekt, um ein zweites Objekt hinzuzufügen und +Key:Wert für einen zweiten Schlüssel.
-
Für geben Sie Folgendes ein:
-
-
: Name
-
: Projekt 2
-
-
-
: id
-
: 22
-
Einstellungen Beispiel:
-
-
Klicken Sie in der -Konfiguration 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 einem Trigger ausgegeben wird.
Diese Schleife wird nur als Referenz im Parameterfeld verwendet.
Beispiel:
Ausgaben der Aufgabe (Strings: Eine Veröffentlichung veröffentlichen):
{
"created_at": "2015-01-28T09:52:53Z",
"environments": ["development", "production"],
"id": "abcd1234cdef1234abcd1234cdef1234",
"locales": [
{
"code": "en-GB",
"id": "abcd1234cdef1234abcd1234cdef1234",
"name": "Englisch"
},
{
"id": "abcd5678cdef5678abcd5678cdef5678",
"name": "German",
"code": "de_DE"
}
],
"platforms": ["android"],
"project": {
"created_at": "2015-01-28T09:52:53Z",
"id": "abcd1234cdef1234abcd1234cdef1234",
"main_format": "xml",
"name": "Mein Android-Projekt",
"updated_at": "2015-01-28T09:52:53Z"
},
"updated_at": "2015-01-28T09:52:53Z",
"version": 1
}
Wenn die Schleifeneinstellungen mit {{ $.locales }} festgelegt sind, dann:
-
Schleifenliste=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Englisch" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ] -
Zuerst
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Englisch" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Englisch
Oder wenn {{ $.environments }} referenziert wird, dann:
-
Schleifenliste=>["Entwicklung", "Produktion"] -
{{ @item }}=>EntwicklungoderProduktion