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 según condiciones definidas.

La configuración del bucle se accede ya sea en la pestaña Advanced de una configuración de bloque, o haciendo clic derecho en un bloque y seleccionando editar bucle.

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

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

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:

  1. seleccionar un bloque vacío y abrir la configuración de Loop.

  2. Haga clic en editar bucle.

    Se presentan las opciones de configuración de loop_with.

  3. Desde el campo loop_with, Seleccionar withSequence.

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

  5. Opcionalmente, ingrese un valor desde el cual el bucle debe comenzar y/o terminar.

  6. Haga clic en guardar bucle.

  7. Desde la configuración de Parameters, haga clic en editar parámetros.

    Se presentan las opciones de configuración.

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

withItems

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:

  1. seleccionar un bloque vacío y abrir la configuración de Loop.

  2. Haga clic en editar bucle.

    Se presentan las opciones de configuración de loop_with.

  3. Desde el campo loop_with, Seleccionar withItems

  4. Ingrese en en el campo variable y haga clic en +Item (se Crear otro campo variable).

  5. Ingrese de en el segundo campo variable y Crear un tercer campo.

  6. Ingrese fr en el tercer campo variable y Crear un cuarto campo.

  7. Ingrese us en el cuarto campo de variable.

  8. Haga clic en guardar bucle.

  9. Desde la configuración de Parameters, haga clic en editar parámetros.

    Se presentan las opciones de configuración.

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

withComplexItems

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:

  1. seleccionar un bloque vacío y abrir la configuración de Loop.

  2. Haga clic en editar bucle.

    Se presentan las opciones de configuración de loop_with.

  3. Desde el campo loop_with, Seleccionar withComplexItems

  4. Haga clic en +Key:value para agregar una segunda clave.

  5. Para Object 1, ingrese lo siguiente:

    • Key: Value1

      • key (Opcional): name

      • (Opcional): Project 1

    • Key: Value2

      • key (Opcional): ID

      • (Opcional): 11

  6. Haga clic en +Object para agregar un segundo objeto y +Key:value para una segunda clave.

  7. Para Object 2, ingrese lo siguiente:

    • Key: Value1

      • key (Opcional): name

      • (Opcional): Project 2

    • Key: Value2

      • key (Opcional): ID

      • (Opcional): 22

    Ejemplo de configuración:

    Loop with Complex Items Example
  8. Desde la configuración de Parameters, haga clic en editar parámetros.

    Se presentan las opciones de configuración.

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

withParam

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 withParam 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 }} => 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.