Schleifen können innerhalb eines Workflow implementiert werden, um eine Reihe von Aufgabe basierend auf definierten Bedingungen zu wiederholen.
Die Schleifenkonfiguration wird entweder über den -Tab einer Blockkonfiguration oder durch Rechtsklick auf einen Block und Auswählen von aufgerufen.
Schleifen-Einstellungen erfordern eine Liste von Dingen, mit denen gearbeitet werden soll:
-
Einfache, einzelne Werte, die dann in Aufgabe-Parametern wie
{{ @item }}verwendbar sind. -
Ein .JSON-Objekt, bei dem jedes Element im Objekt über seinen Key adressiert werden kann, wie z. B.
{{ @item.key }}.
Zugriff auf die aggregierten Ergebnisse einer Schleife
Der Output aller Iterationen kann als .JSON-Array abgerufen werden, sobald eine Schleife abgeschlossen ist. Der Output 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 withSequence-Schleife ermöglicht eine Iteration über eine Zahlenfolge oder die Generierung eines Wertebereichs innerhalb eines Workflow.
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-withSequence-Schleife zu Erstellen, führen Sie diese Schritte aus:
-
Wählen Sie einen leeren Block aus und öffnen Sie die -Konfiguration.
-
Klicken Sie auf Edit loop.
Die Konfigurationsoptionen für werden angezeigt.
-
Wähle im Feld withSequence aus.
-
Gib die Anzahl der Schleifeniterationen in das Feld ein.
-
Gib optional einen Wert ein, mit dem die Schleife beginnen und/oder enden soll.
-
Klicke auf Save loop.
-
Klicke in der Konfiguration auf Edit parameters.
Konfigurationsoptionen werden angezeigt.
-
Gib im Feld
{{ @item }}ein und klicke auf Save parameters.Dieser Wert wird zur Laufzeit konvertiert.
Wenn beispielsweise die Anzahl auf 3 und der Startwert auf 2 gesetzt ist, lauten die Ergebnisse dieser Schleife:
-
loop list => [\"2\", \"3\", \"4\"] -
{{ @item }} => 2oder3oder4, basierend auf der Iteration
Die withItems-Schleife ermöglicht die Iteration über eine Liste von Elementen.
Sie kann verwendet werden, wenn Vorgänge basierend auf einer Liste von Elementen ausgeführt werden müssen.
Um eine Beispiel-withItems-Schleife zu Erstellen, befolge diese Schritte:
-
Wählen Sie einen leeren Block aus und öffnen Sie die -Konfiguration.
-
Klicken Sie auf Edit loop.
Die Konfigurationsoptionen für werden angezeigt.
-
Wähle im Feld withItems aus.
-
Gib
enin das Feld ein und klicke auf +Item (ein weiteres Feld wird Erstellen). -
Gib
dein das zweite Feld ein und Erstellen ein drittes Feld. -
Gib
frin das dritte Feld ein und Erstellen ein viertes Feld. -
Gib
usin das vierte Feld ein. -
Klicke auf Save loop.
-
Klicke in der Konfiguration auf Edit parameters.
Konfigurationsoptionen werden angezeigt.
-
Gib im Feld
{{ @item }}ein und klicke auf Save parameters.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 withComplexItems-Schleife ermöglicht das Iterieren über eine Liste von Objekten.
Sie kann verwendet werden, wenn Vorgänge basierend auf einer Liste komplexer Elemente ausgeführt werden müssen.
Um eine Beispiel-withComplexItems-Schleife zu erstellen, führen Sie diese Schritte aus:
-
Wählen Sie einen leeren Block aus und öffnen Sie die -Konfiguration.
-
Klicken Sie auf Edit loop.
Die Konfigurationsoptionen für werden angezeigt.
-
Wählen Sie im Feld die Option withComplexItems aus.
-
Klicken Sie auf +Key:value, um einen zweiten Key hinzuzufügen.
-
Geben Sie für Folgendes ein:
-
-
: Name
-
: Projekt 1
-
-
-
: ID
-
: 11
-
-
-
Klicken Sie auf +Object, um ein zweites Objekt hinzuzufügen, und auf +Key:value für einen zweiten Key.
-
Geben Sie für Folgendes ein:
-
-
: Name
-
: Projekt 2
-
-
-
: ID
-
: 22
-
Beispiel für Einstellungen:
-
-
Klicke in der Konfiguration auf Edit parameters.
Konfigurationsoptionen werden angezeigt.
-
Gib im Feld
{{ @item.name }}ein und klicke auf Save parameters. Dieser Wert wird zur Laufzeit konvertiert.
Die Ergebnisse dieser Schleife sind eine Iteration über eine Liste von Projekten:
-
Schleifen-Liste=>[ { "name": "Projekt 1", "id": 11 }, { "name": "Projekt 2", "id": 22 } ] -
{{ @item }}=>{ "name": "Projekt 1", "id": 11 } -
{{ @item.name }}=>Projekt 1 -
{{ @item.id }}=>11
Die withParam-Schleife ermöglicht die Iteration über eine dynamische Liste, die als Output von einer vorherigen Aufgabe oder einem Trigger ausgegeben wird.
Diese Schleife wird nur als Referenz im Parameterfeld verwendet.
Beispiel:
Outputs der Aufgabe (Strings: Veröffentlichung eines Release):
{
"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": "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:
-
Schleifen-Liste=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Englisch" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ] -
Erste
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Englisch" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Englisch
Oder wenn {{ $.environments }} referenziert wird, dann:
-
Liste durchlaufen=>["development", "production"] -
{{ @item }}=>developmentoderproduction