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 jazykových 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ě seznamu komplexních položek.

Pro Vytvořit ukázkovou smyčku withComplexItems 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 withComplexItems

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

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

  • 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

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.