Smyčky lze implementovat v rámci pracovního postupu pro opakování sady úkolů na základě definovaných podmínek.
Konfigurace smyčky je přístupná buď v záložce konfigurace bloku, nebo kliknutím pravým tlačítkem na blok a výběrem .
Nastavení smyčky vyžaduje seznam věcí, se kterými má pracovat:
-
Jednoduché, jednotlivé hodnoty, které jsou následně použitelné v parametrech úkolů, jako je
{{ @item }}. -
Objekt .JSON, kde každý prvek v objektu může být adresován svým klíčem, jako je
{{ @item.key }}.
Přístup k agregovaným výsledkům smyčky
K výstupu všech iterací lze přistupovat jako k poli .JSON po dokončení smyčky. Výstup každé iterace musí být platný soubor .JSON.
Existují čtyři typy smyček, které lze definovat a které se vybírají v poli :
-
withSequence
-
withItems
-
withComplexItems
-
withParam
Smyčka withSequence umožňuje iteraci přes posloupnost čísel nebo generování rozsahu hodnot v rámci pracovního postupu.
Lze ji použít k opakování sady kroků určitý početkrát nebo k provádění operací na základě rozsahu hodnot.
Chcete-li Vytvořit ukázkovou smyčku withSequence, postupujte podle těchto kroků:
-
Vybrat prázdný blok a otevřít konfiguraci .
-
Klikněte na upravit smyčku.
Zobrazí se možnosti konfigurace .
-
V poli Vyberte withSequence.
-
Do pole zadejte počet iterací smyčky.
-
Volitelně zadejte hodnotu, od které má smyčka začínat a/nebo končit.
-
Klikněte na uložit smyčku.
-
V konfiguraci klikněte na upravit parametry.
Zobrazí se možnosti konfigurace.
-
Do pole zadejte
{{ @item }}a klikněte na uložit parametry.Tato hodnota bude převedena za běhu.
Například pokud je počet nastaven na 3 a počáteční hodnota je 2, výsledky této smyčky budou:
-
loop list => ["2", "3", "4"] -
{{ @item }} => 2nebo3nebo4, na základě iterace
Smyčka withItems umožňuje iteraci přes seznam položek.
Lze ji použít, když potřebujete provádět operace na základě seznamu položek.
Chcete-li Vytvořit ukázkovou smyčku withItems, postupujte podle těchto kroků:
-
Vybrat prázdný blok a otevřít konfiguraci .
-
Klikněte na upravit smyčku.
Zobrazí se možnosti konfigurace .
-
V poli Vyberte withItems
-
Zadejte
endo pole a klikněte na +Item (Vytvoří se další pole ). -
Zadejte
dedo druhého pole a Vytvořte třetí pole. -
Zadejte
frdo třetího pole a Vytvořte čtvrté pole. -
Zadejte
usdo čtvrtého pole . -
Klikněte na uložit smyčku.
-
V konfiguraci klikněte na upravit parametry.
Zobrazí se možnosti konfigurace.
-
Do pole zadejte
{{ @item }}a klikněte na uložit parametry.Tato hodnota bude převedena za běhu.
Výsledkem této smyčky bude iterace přes seznam jazykových kódů:
-
loop list => ["en", "de", "fr", "ua"] -
{{ @item }} => ennebode .. ua
Smyčka withComplexItems umožňuje iteraci přes seznam objektů.
Lze ji použít, když potřebujete provádět operace na základě seznamu komplexních položek.
Chcete-li Vytvořit ukázkovou smyčku withComplexItems, postupujte podle těchto kroků:
-
Vybrat prázdný blok a otevřít konfiguraci .
-
Klikněte na upravit smyčku.
Zobrazí se možnosti konfigurace .
-
V poli Vybrat withComplexItems
-
Klikněte na +Klíč:hodnota pro přidání druhého klíče.
-
Pro zadejte následující:
-
-
: name
-
: projekt 1
-
-
-
: ID
-
: 11
-
-
-
Klikněte na +Objekt pro přidání druhého objektu a +Klíč:hodnota pro druhý klíč.
-
Pro zadejte následující:
-
-
: name
-
: projekt 2
-
-
-
: ID
-
: 22
-
Ukázka nastavení:
-
-
V konfiguraci klikněte na upravit parametry.
Zobrazí se možnosti konfigurace.
-
Do pole zadejte
{{ @item.name }}a klikněte na uložit parametry. Tato hodnota bude převedena za běhu.
Výsledkem této smyčky bude iterace přes seznam projektů:
-
seznam smyčky=>[ { "name": "Project 1", "id": 11 }, { "name": "Project 2", "id": 22 } ] -
{{ @item }}=>{ "name": "Project 1", "id": 11 } -
{{ @item.name }}=>Projekt 1 -
{{ @item.id }}=>11
Smyčka withParam umožňuje iteraci přes dynamický seznam, který je výstupem z jakéhokoli předchozího úkolu nebo triggeru.
Tato smyčka se používá pouze jako reference v poli parametrů.
Příklad:
Výstupy úkolu (Strings: Publikovat vydání):
{
"created_at": "2015-01-28T09:52:53Z",
"environments": ["development", "production"],
"id": "abcd1234cdef1234abcd1234cdef1234",
"locales": [
{
"code": "en-GB",
"id": "abcd1234cdef1234abcd1234cdef1234",
"name": "English"
},
{
"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
}
Pokud je nastavení smyčky nastaveno na {{ $.locales }}, pak:
-
seznam smyčky=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ] -
První
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Angličtina
Nebo pokud je odkazováno na {{ $.environments }}, pak:
-
loop list=>["development", "production"] -
{{ @item }}=>developmentneboproduction