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 d'une configuration de bloc, soit en cliquant avec le bouton droit sur un bloc et en sélectionnant .
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 :
-
avecSéquence
-
avecItems
-
avecDesÉlémentsComplexes
-
avecParam
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 :
-
Sélectionnez un bloc vide et ouvrez la configuration .
-
Cliquez sur Modifier la boucle.
Les options de configuration sont présentées.
-
Dans le champ , sélectionnez avecSéquence.
-
Entrez le nombre d'itérations de boucle dans le champ .
-
Optionnellement, entrez une valeur à partir de laquelle la boucle doit commencer et/ou se terminer.
-
Cliquez sur Enregistrer la boucle.
-
Dans la configuration , cliquez sur Modifier les paramètres.
Les options de configuration sont présentées.
-
Dans le champ , 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 }} => 2ou3ou4, en fonction de l'itération
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 :
-
Sélectionnez un bloc vide et ouvrez la configuration .
-
Cliquez sur Modifier la boucle.
Les options de configuration sont présentées.
-
Dans le champ , sélectionnez avecItems
-
Entrez
endans le champ et cliquez sur +Élément (un autre champ est créé). -
Entrez
dedans le deuxième champ et créez un troisième champ. -
Entrez
frdans le troisième champ et créez un quatrième champ. -
Entrez
usdans le quatrième champ . -
Cliquez sur Enregistrer la boucle.
-
Dans la configuration , cliquez sur Modifier les paramètres.
Les options de configuration sont présentées.
-
Dans le champ , 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 }} => enoude .. ua
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 :
-
Sélectionnez un bloc vide et ouvrez la configuration .
-
Cliquez sur Modifier la boucle.
Les options de configuration sont présentées.
-
Dans le champ , sélectionnez avecDesÉlémentsComplexes
-
Cliquez sur +Clé:valeur pour ajouter une deuxième clé.
-
Pour , entrez ce qui suit :
-
-
: nom
-
: Projet 1
-
-
-
: id
-
: 11
-
-
-
Cliquez sur +Objet pour ajouter un deuxième objet et sur +Clé:valeur pour ajouter une deuxième clé.
-
Pour , entrez ce qui suit :
-
-
: nom
-
: Projet 2
-
-
-
: id
-
: 22
-
Exemple de paramètres :
-
-
Dans la configuration , cliquez sur Modifier les paramètres.
Les options de configuration sont présentées.
-
Dans le champ , 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
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 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 }}=>developmentouproduction