Orchestrator

Bucle

El contenido se traduce automáticamente del inglés por Phrase Language AI.

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 Avanzado de la configuración de un bloque, o haciendo clic derecho en un bloque y seleccionando Editar bucle.

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 bucles_con:

  • conSecuencia

  • conElementos

  • conElementosComplejos

  • withParam

conSecuencia

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:

  1. Selecciona un bloque vacío y abre la configuración Bucle.

  2. Haz clic en Editar bucle.

    Las opciones de configuración de loop_with se presentan.

  3. Desde el campo loop_with, selecciona withSequence.

  4. Ingresa el número de iteraciones del bucle en el campo Count.

  5. Opcionalmente, ingresa un valor desde el cual el bucle debería comenzar y/o terminar.

  6. Haz clic en Save loop.

  7. Desde la configuración de Parameters, haz clic en Edit parameters.

    Se presentan las opciones de configuración.

  8. En el campo Message, 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 }} => 2 o 3 o 4, basado en la iteración

conElementos

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:

  1. Selecciona un bloque vacío y abre la configuración Bucle.

  2. Haz clic en Editar bucle.

    Las opciones de configuración de loop_with se presentan.

  3. Desde el campo loop_with, selecciona withItems

  4. Ingresa en en el campo variable y haz clic en +Item (se crea otro campo variable).

  5. Ingresa de en el segundo campo variable y crea un tercer campo.

  6. Ingresa fr en el tercer campo variable y crea un cuarto campo.

  7. Ingrese us en el cuarto campo variable.

  8. Haz clic en Save loop.

  9. Desde la configuración de Parameters, haz clic en Edit parameters.

    Se presentan las opciones de configuración.

  10. En el campo Message, 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 }} => en o de .. ua

conElementosComplejos

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:

  1. Selecciona un bloque vacío y abre la configuración Bucle.

  2. Haz clic en Editar bucle.

    Las opciones de configuración de loop_with se presentan.

  3. Desde el campo loop_with, seleccione conElementosComplejos

  4. Haga clic en +Clave:valor para agregar una segunda clave.

  5. Para Objeto 1, ingrese lo siguiente:

    • Clave: Valor1

      • clave (opcional): nombre

      • (opcional): Proyecto 1

    • Clave: Valor2

      • clave (opcional): id

      • (opcional): 11

  6. Haga clic en +Objeto para agregar un segundo objeto y +Clave:valor para una segunda clave.

  7. Para Objeto 2, ingrese lo siguiente:

    • Clave: Valor1

      • clave (opcional): nombre

      • (opcional): Proyecto 2

    • Clave: Valor2

      • clave (opcional): id

      • (opcional): 22

    Ejemplo de configuración:

    Loop with Complex Items Example
  8. Desde la configuración de Parameters, haz clic en Edit parameters.

    Se presentan las opciones de configuración.

  9. En el campo Message, 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

conParam

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 withParam 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 }} => desarrollo o producción

¿Fue útil este artículo?

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.