Los bucles se pueden implementar dentro de un flujo de trabajo para repetir un conjunto de tareas basadas en condiciones definidas.
Los bucles se ejecutan en secuencia. Un máximo de 4 pasos pueden ejecutarse en paralelo.
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 únicos, que luego son utilizables en parámetros de tarea 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 array .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 .
-
Haga clic en Editar bucle.
Las opciones de configuración de se presentan.
-
Desde el campo , seleccione conSecuencia.
-
Ingrese el número de iteraciones del bucle en el campo .
-
Opcionalmente, ingrese un valor desde el cual el bucle debería 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 conteo se establece en 3 y el valor inicial es 2, los resultados de este bucle serán:
-
lista de bucles => ["2", "3", "4"] -
{{ @item }} => 2o3o4, basado en la iteración
El bucle conElementos permite la iteración 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 conElementos, siga estos pasos:
-
Selecciona un bloque vacío y abre la configuración .
-
Haga clic en Editar bucle.
Las opciones de configuración de se presentan.
-
Desde el campo , seleccione conElementos
-
Ingrese
enen el campo y haga clic en +Elemento (se crea otro campo ). -
Ingrese
deen el segundo campo y cree un tercer campo. -
Ingrese
fren el tercer campo y cree un cuarto campo. -
Ingrese
usen el cuarto campo . -
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:
-
lista de bucles => ["en", "de", "fr", "ua"] -
{{ @item }} => enode .. ua
El bucle conElementosComplejos permite iterar sobre una lista de objetos.
Se puede usar cuando se necesitan 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 .
-
Haga 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 , 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 bucles=>[ { "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 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 (Cadenas: Publicar una versión):
{
"created_at": "2015-01-28T09:52:53Z",
"entornos": ["desarrollo", "producción"],
"id": "abcd1234cdef1234abcd1234cdef1234",
"locales": [
{
"código": "en-GB",
"id": "abcd1234cdef1234abcd1234cdef1234",
"name": "English"
},
{
"id": "abcd5678cdef5678abcd5678cdef5678",
"name": "Alemán",
"code": "de_DE"
}
],
"platforms": ["android"],
"project": {
"created_at": "2015-01-28T09:52:53Z",
"id": "abcd1234cdef1234abcd1234cdef1234",
"main_format": "xml",
"name": "Mi Proyecto de Android",
"updated_at": "2015-01-28T09:52:53Z"
},
"updated_at": "2015-01-28T09:52:53Z",
"versión": 1
}
Si la configuración del bucle está establecida con {{ $.locales }}, entonces:
-
lista de bucles=>[ { "código": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "Alemán", "code": "de_DE" } ] -
Primero
{{ @item }}=>{ "código": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Inglés
O si {{ $.environments }} es referenciado, entonces:
-
lista de bucles=>["desarrollo", "producción"] -
{{ @item }}=>desarrollooproducción