Schleifen können innerhalb eines Workflow implementiert werden, um eine Reihe von Aufgabe basierend auf definierten Bedingungen zu wiederholen.
Die Schleifenkonfiguration ist entweder über den Tab einer Blockkonfiguration oder durch Rechtsklick auf einen Block und auswählen von zugänglich.
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 wie
{{ @item.key }}adressiert werden kann.
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, befolgen Sie diese Schritte:
-
Wählen Sie einen leer 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 Liste => [\"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.
Befolge diese Schritte, um eine Beispiel-withItems-Schleife zu Erstellen:
-
Wählen Sie einen leer 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 Operationen basierend auf einer Liste von komplexen Elementen durchgeführt werden müssen.
Um eine Beispiel-withComplexItems-Schleife zu erstellen, befolgen Sie diese Schritte:
-
Wählen Sie einen leer Block aus und öffnen Sie die -Konfiguration.
-
Klicken Sie auf Edit loop.
Die Konfigurationsoptionen für werden angezeigt.
-
Wählen Sie im Feld withComplexItems aus.
-
Klicken Sie auf +Key:value, um einen zweiten Key hinzuzufügen.
-
Für geben Sie 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.
-
Für geben Sie Folgendes ein:
-
-
: name
-
: Projekt 2
-
-
-
: id
-
: 22
-
Einstellungen-Beispiel:
-
-
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:
-
loop list=>[ { "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: Publish a 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:
-
loop list=>[ { "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:
-
Schleife Liste=>["development", "production"] -
{{ @item }}=>developmentoderproduction