Orchestrator

Looping

Le contenu est traduit de l’anglais par Phrase Language AI.

Les boucles peuvent être mises en œuvre dans un flux de travaux pour répéter un ensemble de tâches en fonction de conditions définies.

Les boucles s'exécutent en séquence. Un maximum de 4 étapes peut s'exécuter en parallèle.

La configuration de la boucle est accessible soit dans l'onglet Advanced d'une configuration de bloc, soit en cliquant avec le bouton droit sur un bloc et en sélectionnant Modifier la boucle.

Les paramètres de la boucle nécessitent une liste d'éléments sur lesquels opérer :

  • Valeurs simples, qui peuvent ensuite être utilisées dans les paramètres de tâche tels que {{ @item }}.

  • Un objet .JSON où chaque élément de l'objet peut être adressé par sa clé, tel que {{ @item.key }}.

Accéder aux résultats agrégés d'une boucle

La sortie de toutes les itérations peut être consultée sous forme de tableau .JSON une fois qu'une boucle est terminée. La sortie de chaque itération doit être un fichier .JSON valide.

Il existe quatre types de boucles qui peuvent être définis et qui sont sélectionnés dans le champ loop_with :

  • avecSéquence

  • avecItems

  • avecDesÉlémentsComplexes

  • avecParam

avecSéquence

La boucle avecSéquence permet une itération sur une séquence de nombres ou la génération d'une plage de valeurs dans un flux de travaux.

Elle peut être utilisée pour répéter un ensemble d'étapes un nombre spécifique de fois ou pour effectuer des opérations basées sur une plage de valeurs.

Pour créer un exemple de boucle avecSéquence, suivez ces étapes :

  1. Sélectionnez un bloc vide et ouvrez la configuration Loop.

  2. Cliquez sur Modifier la boucle.

    Les options de configuration loop_with sont présentées.

  3. Dans le champ loop_with, sélectionnez avecSéquence.

  4. Entrez le nombre d'itérations de boucle dans le champ Count.

  5. Optionnellement, entrez une valeur à partir de laquelle la boucle doit commencer et/ou se terminer.

  6. Cliquez sur Enregistrer la boucle.

  7. Dans la configuration Paramètres, cliquez sur Modifier les paramètres.

    Les options de configuration sont présentées.

  8. Dans le champ Message, saisissez {{ @item }} puis cliquez sur Enregistrer les paramètres.

    Cette valeur sera convertie à l'exécution.

Par exemple, si le nombre d'itérations est défini sur 3 et que la valeur de départ est 2, les résultats de cette boucle seront :

  • loop list => ["2", "3", "4"]

  • {{ @item }} => 2 ou 3 ou 4, en fonction de l'itération

avecItems

La boucle avecItems permet d'itérer sur une liste d'éléments.

Elle peut être utilisée lorsque des opérations doivent être effectuées en fonction d'une liste d'éléments.

Pour créer un exemple de boucle avecItems, suivez ces étapes :

  1. Sélectionnez un bloc vide et ouvrez la configuration Loop.

  2. Cliquez sur Modifier la boucle.

    Les options de configuration loop_with sont présentées.

  3. Dans le champ loop_with, sélectionnez avecItems

  4. Entrez en dans le champ variable et cliquez sur +Élément (un autre champ variable est créé).

  5. Entrez de dans le deuxième champ variable et créez un troisième champ.

  6. Entrez fr dans le troisième champ variable et créez un quatrième champ.

  7. Entrez us dans le quatrième champ variable.

  8. Cliquez sur Enregistrer la boucle.

  9. Dans la configuration Paramètres, cliquez sur Modifier les paramètres.

    Les options de configuration sont présentées.

  10. Dans le champ Message, entrez {{ @item }} et cliquez sur Enregistrer les paramètres.

    Cette valeur sera convertie à l'exécution.

Les résultats de cette boucle seront une itération sur une liste de codes de langue :

  • loop list => ["en", "de", "fr", "ua"]

  • {{ @item }} => en ou de .. ua

avecDesÉlémentsComplexes

La boucle avecDesÉlémentsComplexes permet d'itérer sur une liste d'objets.

Elle peut être utilisée lorsqu'il est nécessaire d'effectuer des opérations basées sur une liste d'éléments complexes.

Pour créer un exemple de boucle avecDesÉlémentsComplexes, suivez ces étapes :

  1. Sélectionnez un bloc vide et ouvrez la configuration Loop.

  2. Cliquez sur Modifier la boucle.

    Les options de configuration loop_with sont présentées.

  3. Dans le champ loop_with, sélectionnez avecDesÉlémentsComplexes

  4. Cliquez sur +Clé:valeur pour ajouter une deuxième clé.

  5. Pour Objet 1, entrez ce qui suit :

    • Clé : Value1

      • clé (optionnel) : nom

      • (optionnel) : Projet 1

    • Clé : Value2

      • clé (optionnel) : id

      • (optionnel) : 11

  6. Cliquez sur +Objet pour ajouter un deuxième objet et sur +Clé:valeur pour ajouter une deuxième clé.

  7. Pour Objet 2, entrez ce qui suit :

    • Clé : Value1

      • clé (optionnel) : nom

      • (optionnel) : Projet 2

    • Clé : Value2

      • clé (optionnel) : id

      • (optionnel) : 22

    Exemple de paramètres :

    Loop with Complex Items Example
  8. Dans la configuration Paramètres, cliquez sur Modifier les paramètres.

    Les options de configuration sont présentées.

  9. Dans le champ Message, saisissez {{ @item.name }} puis cliquez sur Enregistrer les paramètres. Cette valeur sera convertie à l'exécution.

Les résultats de cette boucle seront une itération sur une liste de projets :

  • loop list =>

    [
      {
        "name": "Projet 1",
        "id": 11
      },
      {
        "name": "Projet 2",
        "id": 22
      }
    ]
  • {{ @item }} =>

    {
      "name": "Projet 1",
      "id": 11
    }
  • {{ @item.name }} => Projet 1

  • {{ @item.id }} => 11

avecParam

La boucle avecParam permet d’itérer sur une liste dynamique qui est la sortie de toute tâche ou déclencheur précédent.

Cette boucle est uniquement utilisée comme référence dans le champ de paramètre.

Exemple :

Sorties de la tâche (Strings : Publier une version):

{
  "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": "Mon projet Android",
    "updated_at": "2015-01-28T09:52:53Z"
  },
  "updated_at": "2015-01-28T09:52:53Z",
  "version": 1
}

Si les paramètres de boucle withParam sont définis avec {{ $.locales }}, alors:

  • liste =>

    [
      {
        "code": "en-GB",
        "id": "abcd1234cdef1234abcd1234cdef1234",
        "name": "English"
      },
      {
        "id": "abcd5678cdef5678abcd5678cdef5678",
        "name": "Allemand",
        "code": "de_DE"
      }
    ]
  • Premier {{ @item }} =>

    {
      "code": "en-GB",
      "id": "abcd1234cdef1234abcd1234cdef1234",
      "name": "English"
    }
  • {{ @item.code }} => en-GB

  • {{ @item.name }} => English

Ou si {{ $.environments }} est référencé, alors :

  • liste => ["development", "production"]

  • {{ @item }} => development ou production

Cet article vous a-t-il été utile ?

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.