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 jazyk 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ě seznam komplexních položek.
Chcete-li Vytvořit ukázkovou smyčku withComplexItems, postupujte takto:
-
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íč.
-
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ů:
-
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: 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