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 в четвертое поле variable.

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

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

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

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

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

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

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

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

withComplexItems

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

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

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

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

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

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

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

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

  5. Для Object 1 введите следующее:

    • Ключ: Value1

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

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

    • Ключ: Value2

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

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

  6. Нажмите +Object, чтобы добавить второй объект, и +Key:value для второго ключа.

  7. Для Object 2 введите следующее:

    • Ключ: Value1

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

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

    • Ключ: Value2

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

      • (Дополнительно): 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.