Orchestrator

Циклы

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

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

Настройки цикла доступны либо во вкладке Расширенные конфигурации блока, либо при щелчке правой кнопкой мыши на блоке и выборе Редактировать цикл.

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

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

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

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

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

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

  • сПоследовательностью

  • сЭлементами

  • withComplexItems

  • сПараметром

сПоследовательностью

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

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

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

  1. Выберите пустой блок и откройте конфигурацию Цикл.

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

    Опции конфигурации loop_with представлены.

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

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

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

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

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

    Опции конфигурации представлены.

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

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

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

  • loop list => ["2", "3", "4"]

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

с элементами

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

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

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

  1. Выберите пустой блок и откройте конфигурацию Цикл.

  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 }} и нажмите Сохранить параметры.

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

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

  • loop list => ["en", "de", "fr", "ua"]

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

withComplexItems

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

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

Чтобы создать пример цикла с сложными элементами, выполните следующие шаги:

  1. Выберите пустой блок и откройте конфигурацию Цикл.

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

    Опции конфигурации loop_with представлены.

  3. В поле loop_with выберите с сложными элементами

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

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

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

      • ключ (необязательно): имя

      • (необязательно): Проект 1

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

      • ключ (необязательно): идентификатор

      • (необязательно): 11

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

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

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

      • ключ (необязательно): имя

      • (необязательно): Проект 2

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

      • ключ (необязательно): идентификатор

      • (опционально): 22

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

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

    Опции конфигурации представлены.

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

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

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

    [
      {
        "name": "Проект 1",
        "id": 11
      },
      {
        "name": "Проект 2",
        "id": 22
      }
    ]
  • {{ @item }} =>

    {
      "name": "Проект 1",
      "id": 11
    }
  • {{ @item.name }} => Проект 1

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

с параметром

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

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

Пример:

Выходы задачи (Строки: Опубликовать релиз):

{
  "created_at": "2015-01-28T09:52:53Z",
  "environments": ["разработка", "производство"],
  "id": "abcd1234cdef1234abcd1234cdef1234",
  "locales": [
    {
      "code": "en-GB",
      "id": "abcd1234cdef1234abcd1234cdef1234",
      "name": "Английский"
    },
    {
      "id": "abcd5678cdef5678abcd5678cdef5678",
      "name": "Немецкий",
      "code": "de_DE"
    }
  ],
  "platforms": ["android"],
  "project": {
    "created_at": "2015-01-28T09:52:53Z",
    "id": "abcd1234cdef1234abcd1234cdef1234",
    "main_format": "xml",
    "name": "Мой Android проект",
    "updated_at": "2015-01-28T09:52:53Z"
  },
  "updated_at": "2015-01-28T09:52:53Z",
  "version": 1
}

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

  • loop list =>

    [
      {
        "code": "en-GB",
        "id": "abcd1234cdef1234abcd1234cdef1234",
        "name": "Английский"
      },
      {
        "id": "abcd5678cdef5678abcd5678cdef5678",
        "name": "Немецкий",
        "code": "de_DE"
      }
    ]
  • Первый {{ @item }} =>

    {
      "code": "en-GB",
      "id": "abcd1234cdef1234abcd1234cdef1234",
      "name": "Английский"
    }
  • {{ @item.code }} => en-GB

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

Или если {{ $.environments }} ссылается, тогда:

  • loop list => ["разработка", "производство"]

  • {{ @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.