Orchestrator

Smyčky

Obsah je strojově přeložen z angličtiny s použitím Phrase Language AI.

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 Advanced konfigurace bloku, nebo kliknutím pravým tlačítkem na blok a výběrem Edit loop.

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 loop_with:

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

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ů:

  1. vybrat prázdný blok a otevřete konfiguraci Loop.

  2. Klikněte na Edit loop.

    Možnosti konfigurace loop_with jsou zobrazeny.

  3. V poli loop_with Vybrat withSequence.

  4. Zadejte počet iterací smyčky do pole Count.

  5. Volitelně zadejte hodnotu, od které by smyčka měla začínat a/nebo končit.

  6. Klikněte na uložit smyčku.

  7. V konfiguraci Parameters klikněte na upravit parametry.

    Možnosti konfigurace jsou zobrazeny.

  8. Do pole Message 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 }} => 2 nebo 3 nebo 4, na základě iterace

withItems

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ů:

  1. vybrat prázdný blok a otevřete konfiguraci Loop.

  2. Klikněte na Edit loop.

    Možnosti konfigurace loop_with jsou zobrazeny.

  3. V poli loop_with Vybrat withItems

  4. Zadejte en do pole variable a klikněte na +Item (Vytvořit se další pole variable).

  5. Zadejte de do druhého pole variable a Vytvořit třetí pole.

  6. Zadejte fr do třetího pole variable a Vytvořit čtvrté pole.

  7. Zadejte us do čtvrtého pole variable.

  8. Klikněte na uložit smyčku.

  9. V konfiguraci Parameters klikněte na upravit parametry.

    Možnosti konfigurace jsou zobrazeny.

  10. Do pole Message 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 }} => en nebo de .. ua

withComplexItems

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:

  1. vybrat prázdný blok a otevřete konfiguraci Loop.

  2. Klikněte na Edit loop.

    Možnosti konfigurace loop_with jsou zobrazeny.

  3. V poli loop_with Vybrat withComplexItems

  4. Klikněte na +Key:value pro přidání druhého klíč.

  5. Pro Object 1 zadejte následující:

    • Klíč: Value1

      • klíč (Volitelné): name

      • (Volitelné): projekt 1

    • Key: Value2

      • klíč (Volitelné): ID

      • (Volitelné): 11

  6. Klikněte na +Object pro přidání druhého objektu a +Key:value pro druhý klíč.

  7. Pro Object 2 zadejte následující:

    • Klíč: Value1

      • klíč (Volitelné): name

      • (Volitelné): projekt 2

    • Key: Value2

      • klíč (Volitelné): ID

      • (Volitelné): 22

    Ukázka nastavení:

    Loop with Complex Items Example
  8. V konfiguraci Parameters klikněte na upravit parametry.

    Možnosti konfigurace jsou zobrazeny.

  9. Do pole Message 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

withParam

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 withParam 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 }} => development nebo production

Byl pro vás tento článek užitečný?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.