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žka 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:
-
Prosté, jednotlivé hodnoty, které jsou následně použitelné v parametrech úkol jako
{{ @item }}. -
Objekt .JSON, kde každý prvek v objektu může být adresován svým klíč jako
{{ @item.key }}.
Přístup k agregovaným výsledkům smyčky
K výstup 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řete konfiguraci .
-
Klikněte na Edit loop.
Možnosti konfigurace jsou zobrazeny.
-
V poli Vybrat withSequence.
-
Zadejte počet iterací smyčky do pole .
-
Volitelně zadejte hodnotu, od které by smyčka měla začínat a/nebo končit.
-
Klikněte na uložit smyčku.
-
V konfiguraci klikněte na upravit parametry.
Možnosti konfigurace jsou zobrazeny.
-
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ž je potřeba provést 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řete konfiguraci .
-
Klikněte na Edit loop.
Možnosti konfigurace jsou zobrazeny.
-
V poli Vybrat withItems
-
Zadejte
endo pole a klikněte na +Item (Vytvořit se další pole ). -
Zadejte
dedo druhého pole a Vytvořit třetí pole. -
Zadejte
frdo třetího pole a Vytvořit čtvrté pole. -
Zadejte
usdo čtvrtého pole . -
Klikněte na uložit smyčku.
-
V konfiguraci klikněte na upravit parametry.
Možnosti konfigurace jsou zobrazeny.
-
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.
Pro Vytvořit ukázkovou smyčku withComplexItems postupujte podle těchto kroků:
-
vybrat prázdný blok a otevřete konfiguraci .
-
Klikněte na Edit loop.
Možnosti konfigurace jsou zobrazeny.
-
V poli Vybrat withComplexItems
-
Klikněte na +Key:value pro přidání druhého klíče.
-
Pro zadejte následující:
-
-
: name
-
: projekt 1
-
-
-
: ID
-
: 11
-
-
-
Klikněte na +Object pro přidání druhého objektu a +Key:value pro druhý klíč.
-
Pro zadejte následující:
-
-
: name
-
: projekt 2
-
-
-
: ID
-
: 22
-
Ukázka nastavení:
-
-
V konfiguraci klikněte na upravit parametry.
Možnosti konfigurace jsou zobrazeny.
-
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ů:
-
loop list=>[ { "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: Publish a release):
{
"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