Orchestrator

Цикличность

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

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

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

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

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

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

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

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

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

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

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

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

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

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

  2. Нажмите Edit loop.

    Отображаются параметры конфигурации 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. Нажмите Edit loop.

    Отображаются параметры конфигурации 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. Нажмите Edit loop.

    Отображаются параметры конфигурации 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\": \"Проект 1\",
        "id": 11
      },
      {
        \"name\": \"Проект 2\",
        \"Идентификатор\": 22
      }
    ]
  • {{ @item }} =>

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

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

withParam

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

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

Например:

Результат задача (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
}

Если настройки цикла 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.