Циклы можно реализовать в рамках рабочего процесса для повторения набора задач на основе заданных условий.
Конфигурация цикла доступна либо на вкладке конфигурации блока, либо при нажатии правой кнопкой мыши на блок и выборе .
Настройки цикла требуют список элементов для работы:
-
Простые, одиночные значения, которые затем можно использовать в параметрах задачи, таких как
{{ @item }}. -
Объект .JSON, где к каждому элементу в объекте можно обратиться по его ключ, например
{{ @item.key }}.
Доступ к совокупным результат цикла
Результат всех итераций можно получить в виде массива .JSON после завершения цикла. Результат каждой итерации должен быть допустимым файлом .JSON.
Существует четыре типа циклов, которые можно определить и выбрать в поле :
-
withSequence
-
withItems
-
withComplexItems
-
withParam
Цикл withSequence позволяет выполнять итерацию по последовательности чисел или создавать диапазон значений в рамках рабочего процесса.
Его можно использовать для повторения набора шагов определенное количество раз или выполнения операций на основе диапазона значений.
Чтобы Создать пример цикла withSequence, выполните следующие действия:
-
Выберите пустой блок и откройте настройки .
-
Нажмите Edit loop.
Отображаются параметры конфигурации .
-
В поле Выбрать withSequence.
-
Введите количество итераций цикла в поле .
-
При необходимости введите значение, с которого цикл должен начинаться и/или которым должен заканчиваться.
-
Нажмите «Сохранить цикл».
-
В конфигурации нажмите «редактировать параметры».
Отображаются параметры конфигурации.
-
В поле введите
{{ @item }}и нажмите «сохранить параметры».Это значение будет преобразовано во время выполнения.
Например, если для параметра count установлено значение 3, а начальное значение равно 2, результаты этого цикла будут следующими:
-
список цикла => [\"2\", \"3\", \"4\"] -
{{ @item }} => 2или3, или4в зависимости от итерации
Цикл withItems позволяет выполнять итерацию по списку элементов.
Его можно использовать, когда необходимо выполнить операции на основе списка элементов.
Чтобы Создать пример цикла withItems, выполните следующие действия:
-
Выберите пустой блок и откройте настройки .
-
Нажмите Edit loop.
Отображаются параметры конфигурации .
-
В поле Выбрать withItems
-
Введите
enв поле и нажмите +Item (будет создано еще одно поле ). -
Введите
deво второе поле и Создать третье поле. -
Введите
frв третье поле и Создать четвертое поле. -
Введите
usв четвертое поле . -
Нажмите «Сохранить цикл».
-
В конфигурации нажмите «редактировать параметры».
Отображаются параметры конфигурации.
-
В поле введите
{{ @item }}и нажмите «сохранить параметры».Это значение будет преобразовано во время выполнения.
Результатом этого цикла будет итерация по списку кодов язык:
-
цикл список => ["en", "de", "fr", "ua"] -
{{ @item }} => enилиde .. ua
Цикл withComplexItems позволяет выполнять итерацию по списку объектов.
Его можно использовать, когда необходимо выполнить операции на основе списка сложных элементов.
Чтобы Создать пример цикла withComplexItems, выполните следующие действия:
-
Выберите пустой блок и откройте настройки .
-
Нажмите Edit loop.
Отображаются параметры конфигурации .
-
В поле Выбрать withComplexItems
-
Нажмите +Ключ:значение, чтобы добавить второй ключ.
-
Для введите следующее:
-
-
: name
-
: проект 1
-
-
-
: Идентификатор
-
: 11
-
-
-
Нажмите +Объект, чтобы добавить второй объект, и +Ключ:значение для второго ключа.
-
Для введите следующее:
-
-
: name
-
: проект 2
-
-
-
: Идентификатор
-
: 22
-
Пример настройки:
-
-
В конфигурации нажмите «редактировать параметры».
Отображаются параметры конфигурации.
-
В поле введите
{{ @item.name }}и нажмите «сохранить параметры». Это значение будет преобразовано во время выполнения.
Результат этого цикла будет итерацией по список проект:
-
цикл список=>[ { \"name\": \"Проект 1\", "id": 11 }, { \"name\": \"Проект 2\", \"Идентификатор\": 22 } ] -
{{ @item }}=>{ \"name\": \"Проект 1\", "id": 11 } -
{{ @item.name }}=>Проект 1 -
{{ @item.id }}=>11
Цикл 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
}
Если настройки цикла установлены как {{ $.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 }}=>разработкаилипродуктив