Los bucles se pueden implementar dentro de un flujo de trabajo para repetir un conjunto de tareas según condiciones definidas.
La configuración del bucle se accede ya sea en la pestaña de una configuración de bloque, o haciendo clic derecho en un bloque y seleccionando .
La configuración del bucle requiere una lista de elementos sobre los cuales operar:
-
Valores simples y directos, que luego se pueden utilizar en los parámetros de la tarea, como
{{ @item }}. -
Un objeto .JSON donde cada elemento del objeto puede ser direccionado por su clave, como
{{ @item.key }}.
Acceso a los resultados agregados de un bucle
La salida de todas las iteraciones se puede acceder como una matriz .JSON una vez que se completa un bucle. La salida de cada iteración debe ser un archivo .JSON válido.
Existen cuatro tipos de bucle que se pueden definir y que se seleccionan en el campo :
-
withSequence
-
withItems
-
withComplexItems
-
withParam
El bucle withSequence permite la iteración sobre una secuencia de números o la generación de un rango de valores dentro de un flujo de trabajo.
Se puede utilizar para repetir un conjunto de pasos un número específico de veces o para realizar operaciones basadas en un rango de valores.
Para Crear un bucle withSequence de muestra, siga estos pasos:
-
seleccionar un bloque vacío y abrir la configuración de .
-
Haga clic en editar bucle.
Se presentan las opciones de configuración de .
-
Desde el campo , Seleccionar withSequence.
-
Ingrese el número de iteraciones del bucle en el campo .
-
Opcionalmente, ingrese un valor desde el cual el bucle debe comenzar y/o terminar.
-
Haga clic en guardar bucle.
-
Desde la configuración de , haga clic en editar parámetros.
Se presentan las opciones de configuración.
-
En el campo , ingrese
{{ @item }}y haga clic en guardar parámetros.Este valor se convertirá en tiempo de ejecución.
Por ejemplo, si el recuento se establece en 3 y el valor inicial es 2, los resultados de este bucle serán:
-
lista de bucle => ["2", "3", "4"] -
{{ @item }} => 2o3o4, según la iteración
El bucle withItems permite la iteración sobre una lista de elementos.
Se puede utilizar cuando se necesite realizar operaciones basadas en una lista de elementos.
Para Crear un bucle withItems de muestra, siga estos pasos:
-
seleccionar un bloque vacío y abrir la configuración de .
-
Haga clic en editar bucle.
Se presentan las opciones de configuración de .
-
Desde el campo , Seleccionar withItems
-
Ingrese
enen el campo y haga clic en +Item (se Crear otro campo ). -
Ingrese
deen el segundo campo y Crear un tercer campo. -
Ingrese
fren el tercer campo y Crear un cuarto campo. -
Ingrese
usen el cuarto campo de . -
Haga clic en guardar bucle.
-
Desde la configuración de , haga clic en editar parámetros.
Se presentan las opciones de configuración.
-
En el campo , ingrese
{{ @item }}y haga clic en guardar parámetros.Este valor se convertirá en tiempo de ejecución.
Los resultados de este bucle serán una iteración sobre una lista de códigos de idioma:
-
loop list => ["en", "de", "fr", "ua"] -
{{ @item }} => enode .. ua
El bucle withComplexItems permite iterar sobre una lista de objetos.
Se puede utilizar cuando se necesita realizar operaciones basadas en una lista de elementos complejos.
Para Crear un bucle withComplexItems de muestra, siga estos pasos:
-
seleccionar un bloque vacío y abrir la configuración de .
-
Haga clic en editar bucle.
Se presentan las opciones de configuración de .
-
Desde el campo , Seleccionar withComplexItems
-
Haga clic en +Key:value para agregar una segunda clave.
-
Para , ingrese lo siguiente:
-
-
: name
-
: Project 1
-
-
-
: ID
-
: 11
-
-
-
Haga clic en +Object para agregar un segundo objeto y +Key:value para una segunda clave.
-
Para , ingrese lo siguiente:
-
-
: name
-
: Project 2
-
-
-
: ID
-
: 22
-
Ejemplo de configuración:
-
-
Desde la configuración de , haga clic en editar parámetros.
Se presentan las opciones de configuración.
-
En el campo , ingrese
{{ @item.name }}y haga clic en guardar parámetros. Este valor se convertirá en tiempo de ejecución.
Los resultados de este bucle serán una iteración sobre una lista de proyectos:
-
lista de bucle=>[ { \"name\": \"Proyecto 1\", \"id\": 11 }, { \"name\": \"Proyecto 2\", \"id\": 22 } ] -
{{ @item }}=>{ \"name\": \"Proyecto 1\", \"id\": 11 } -
{{ @item.name }}=>Proyecto 1 -
{{ @item.id }}=>11
El bucle withParam permite la iteración sobre una lista dinámica que es salida de cualquier tarea o activador previo.
Este bucle solo se utiliza como referencia en el campo de parámetro.
Ejemplo:
Salidas de la tarea (Strings: Publicar una versión):
{
"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
}
Si la configuración de bucle se establece con {{ $.locales }}, entonces:
-
lista de bucle=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", \"name\": \"English\" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ] -
Primero
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", \"name\": \"English\" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Inglés
O si se hace referencia a {{ $.environments }}, entonces:
-
lista de bucle=>["development", "production"] -
{{ @item }}=>desarrollooproducción