Orchestrator

Цикличность

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Циклы можно реализовать в рамках рабочего процесса для повторения набора задач на основе заданных условий.

Конфигурация цикла доступна либо на вкладке Advanced конфигурации блока, либо при нажатии правой кнопкой мыши на блок и выборе редактировать цикл.

Настройки цикла требуют список элементов для работы:

  • Простые, одиночные значения, которые затем можно использовать в параметрах задачи, таких как {{ @item }}.

  • Объект .JSON, где к каждому элементу в объекте можно обратиться по его ключу, например {{ @item.key }}.

Доступ к совокупным результатам цикла

Результат всех итераций можно получить в виде массива .JSON после завершения цикла. Результат каждой итерации должен быть допустимым файлом .JSON.

Существует четыре типа циклов, которые можно определить и выбрать в поле loop_with:

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

Цикл withSequence позволяет выполнять итерацию по последовательности чисел или генерировать диапазон значений в рамках рабочего процесса.

Его можно использовать для повторения набора шагов определенное количество раз или выполнения операций на основе диапазона значений.

Чтобы создать пример цикла withSequence, выполните следующие действия:

  1. Выберите пустой блок и откройте настройки Loop.

  2. Нажмите редактировать цикл.

    Отображаются параметры конфигурации loop_with.

  3. В поле loop_with выберите withSequence.

  4. Введите количество итераций цикла в поле Count.

  5. При необходимости введите значение, с которого цикл должен начинаться и/или которым должен заканчиваться.

  6. Нажмите «Сохранить цикл».

  7. В конфигурации Parameters нажмите «Редактировать параметры».

    Отображаются параметры конфигурации.

  8. В поле Message введите {{ @item }} и нажмите «Сохранить параметры».

    Это значение будет преобразовано во время выполнения.

Например, если для параметра count установлено значение 3, а начальное значение равно 2, результаты этого цикла будут следующими:

  • список цикла => [\"2\", \"3\", \"4\"]

  • {{ @item }} => 2 или 3, или 4 в зависимости от итерации

withItems

Цикл withItems позволяет выполнять итерацию по списку элементов.

Его можно использовать, когда необходимо выполнить операции на основе списка элементов.

Чтобы создать пример цикла withItems, выполните следующие действия:

  1. Выберите пустой блок и откройте настройки Loop.

  2. Нажмите редактировать цикл.

    Отображаются параметры конфигурации loop_with.

  3. В поле loop_with выберите withItems

  4. Введите en в поле variable и нажмите +Item (будет создано еще одно поле variable).

  5. Введите de во второе поле variable и создайте третье поле.

  6. Введите fr в третье поле variable и создайте четвертое поле.

  7. Введите us в четвертое поле переменной.

  8. Нажмите «Сохранить цикл».

  9. В конфигурации Parameters нажмите «Редактировать параметры».

    Отображаются параметры конфигурации.

  10. В поле Message введите {{ @item }} и нажмите «Сохранить параметры».

    Это значение будет преобразовано во время выполнения.

Результатом этого цикла будет итерация по списку кодов языка:

  • цикл список => ["en", "de", "fr", "ua"]

  • {{ @item }} => en или de .. ua

withComplexItems

Цикл withComplexItems позволяет выполнять итерацию по списку объектов.

Его можно использовать, когда необходимо выполнить операции на основе списка сложных элементов.

Чтобы Создать пример цикла withComplexItems, выполните следующие действия:

  1. Выберите пустой блок и откройте настройки Loop.

  2. Нажмите редактировать цикл.

    Отображаются параметры конфигурации loop_with.

  3. В поле loop_with Выбрать withComplexItems

  4. Нажмите +Ключ:значение, чтобы добавить второй ключ.

  5. Для Объект 1 введите следующее:

    • Ключ: Значение1

      • ключ (Дополнительно): name

      • (Дополнительно): проект 1

    • Ключ: Значение2

      • ключ (Дополнительно): Идентификатор

      • (Дополнительно): 11

  6. Нажмите +Объект, чтобы добавить второй объект, и +Ключ:значение для второго ключа.

  7. Для Объект 2 введите следующее:

    • Ключ: Значение1

      • ключ (Дополнительно): name

      • (Дополнительно): проект 2

    • Ключ: Значение2

      • ключ (Дополнительно): Идентификатор

      • (Дополнительно): 22

    Пример настроек:

    Loop with Complex Items Example
  8. В конфигурации Parameters нажмите «Редактировать параметры».

    Отображаются параметры конфигурации.

  9. В поле Message введите {{ @item.name }} и нажмите «Сохранить параметры». Это значение будет преобразовано во время выполнения.

Результатом этого цикла будет итерация по списку проектов:

  • список цикла =>

    [
      {
        \"name\": \"Project 1\",
        \"id\": 11
      },
      {
        \"name\": \"Project 2\",
        \"id\": 22
      }
    ]
  • {{ @item }} =>

    {
      \"name\": \"Project 1\",
      \"id\": 11
    }
  • {{ @item.name }} => Project 1

  • {{ @item.id }} => 11

withParam

Цикл withParam позволяет выполнять итерацию по динамическому списку, который является результатом любой предыдущей задачи или триггера.

Этот цикл используется только в качестве справочного файла в поле параметра.

Например:

Результаты задачи (Strings: Опубликовать выпуск):

{
  "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
}

Если настройки цикла withParam установлены как {{ $.locales }}, то:

  • список цикла =>

    [
      {
        \"code\": \"en-GB\",
        "id": "abcd1234cdef1234abcd1234cdef1234",
        \"name\": \"English\"
      },
      {
        "id": "abcd5678cdef5678abcd5678cdef5678",
        \"name\": \"German\",
        \"code\": \"de_DE\"
      }
    ]
  • Первый {{ @item }} =>

    {
      \"code\": \"en-GB\",
      "id": "abcd1234cdef1234abcd1234cdef1234",
      \"name\": \"English\"
    }
  • {{ @item.code }} => en-GB

  • {{ @item.name }} => английский

Или если {{ $.environments }} используется, то:

  • список цикла => ["development", "production"]

  • {{ @item }} => разработка или производство

Была ли эта статья полезной?

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.