Los bucles se pueden implementar dentro de un flujo de trabajo para repetir un conjunto de tareas basadas en condiciones definidas.
La configuración del bucle se accede en la pestaña de la configuración de un bloque, o haciendo clic derecho en un bloque y seleccionando .
La configuración del bucle requiere una lista de cosas sobre las que operar:
-
Valores simples y planos, que luego son utilizables en parámetros de tareas como
{{ @item }}. -
Un objeto .JSON donde cada elemento en el objeto puede ser dirigido por su clave, como
{{ @item.key }}.
Accediendo a los resultados agregados de un bucle
La salida de todas las iteraciones se puede acceder como un arreglo .JSON una vez que se completa un bucle. La salida de cada iteración debe ser un archivo .JSON válido.
Hay cuatro tipos de bucles que se pueden definir y se seleccionan en el campo :
-
conSecuencia
-
conElementos
-
conElementosComplejos
-
withParam
El bucle conSecuencia permite una 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 usar para repetir un conjunto de pasos un número específico de veces o realizar operaciones basadas en un rango de valores.
Para crear un bucle de muestra conSecuencia, sigue estos pasos:
-
Selecciona un bloque vacío y abre la configuración .
-
Haz clic en Editar bucle.
Las opciones de configuración de se presentan.
-
Desde el campo , selecciona withSequence.
-
Ingresa el número de iteraciones del bucle en el campo .
-
Opcionalmente, ingresa un valor desde el cual el bucle debería comenzar y/o terminar.
-
Haz clic en Save loop.
-
Desde la configuración de , haz clic en Edit parameters.
Se presentan las opciones de configuración.
-
En el campo , ingresa
{{ @item }}y haz clic en Save parameters.Este valor se convertirá en tiempo de ejecución.
Por ejemplo, si el conteo se establece en 3 y el valor inicial es 2, los resultados de este bucle serán:
-
loop list => ["2", "3", "4"] -
{{ @item }} => 2o3o4, basado en la iteración
El bucle withItems permite iterar sobre una lista de elementos.
Se puede usar cuando se necesitan realizar operaciones basadas en una lista de elementos.
Para crear un bucle de muestra withItems, sigue estos pasos:
-
Selecciona un bloque vacío y abre la configuración .
-
Haz clic en Editar bucle.
Las opciones de configuración de se presentan.
-
Desde el campo , selecciona withItems
-
Ingresa
enen el campo y haz clic en +Item (se crea otro campo ). -
Ingresa
deen el segundo campo y crea un tercer campo. -
Ingresa
fren el tercer campo y crea un cuarto campo. -
Ingrese
usen el cuarto campo . -
Haz clic en Save loop.
-
Desde la configuración de , haz clic en Edit parameters.
Se presentan las opciones de configuración.
-
En el campo , ingresa
{{ @item }}y haz clic en Save parameters.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 conElementosComplejos permite iterar sobre una lista de objetos.
Se puede usar cuando se necesita realizar operaciones basadas en una lista de elementos complejos.
Para crear un bucle de muestra conElementosComplejos, siga estos pasos:
-
Selecciona un bloque vacío y abre la configuración .
-
Haz clic en Editar bucle.
Las opciones de configuración de se presentan.
-
Desde el campo , seleccione conElementosComplejos
-
Haga clic en +Clave:valor para agregar una segunda clave.
-
Para , ingrese lo siguiente:
-
-
: nombre
-
: Proyecto 1
-
-
-
: id
-
: 11
-
-
-
Haga clic en +Objeto para agregar un segundo objeto y +Clave:valor para una segunda clave.
-
Para , ingrese lo siguiente:
-
-
: nombre
-
: Proyecto 2
-
-
-
: id
-
: 22
-
Ejemplo de configuración:
-
-
Desde la configuración de , haz clic en Edit parameters.
Se presentan las opciones de configuración.
-
En el campo , ingresa
{{ @item.name }}y haz clic en Save parameters. 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 bucles=>[ { "nombre": "Proyecto 1", "id": 11 }, { "nombre": "Proyecto 2", "id": 22 } ] -
{{ @item }}=>{ "nombre": "Proyecto 1", "id": 11 } -
{{ @item.name }}=>Proyecto 1 -
{{ @item.id }}=>11
El bucle conParam permite la iteración sobre una lista dinámica que se genera a partir de cualquier tarea o desencadenador anterior.
Este bucle se utiliza solo como referencia en el campo de parámetros.
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",
"nombre": "Inglés"
},
{
"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 del bucle está establecida con {{ $.locales }}, entonces:
-
loop list=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "nombre": "Inglés" }, { "id": "abcd5678cdef5678abcd5678cdef5678" "name": "German", "code": "de_DE" } ] -
Primero
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "nombre": "Inglés" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Inglés
O si {{ $.environments }} es referenciado, entonces:
-
loop list=>["desarrollo", "producción"] -
{{ @item }}=>desarrollooproducción