Des boucles peuvent être implémentées au sein d'un flux de travaux pour répéter un ensemble de tâches en fonction de conditions définies.
La configuration de la boucle est accessible soit dans l'onglet de la configuration d'un bloc, soit en faisant un clic droit sur un bloc et en Sélectionner la boucle.
Les paramètres de boucle nécessitent une liste d'éléments sur lesquels opérer :
-
Des valeurs simples et brutes, qui sont ensuite utilisables 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é telle que
{{ @item.key }}.
Accéder aux résultats agrégés d'une boucle
La sortie de toutes les itérations peut être accédé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 :
-
withSequence
-
withItems
-
withComplexItems
-
withParam
La boucle withSequence permet une itération sur une séquence de nombres ou la génération d'une plage de valeurs au sein d'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 withSequence, suivez ces étapes :
-
Sélectionner un bloc vide et ouvrez la configuration .
-
Cliquez sur modifier la boucle.
Les options de configuration sont présentées.
-
Dans le champ , sélectionner withSequence.
-
Saisissez le nombre d'itérations de boucle dans le champ .
-
Optionnellement, saisissez une valeur à partir de laquelle la boucle doit commencer et/ou se terminer.
-
Cliquez sur enregistrer la boucle.
-
Depuis la configuration , cliquez sur modifier les paramètres.
Les options de configuration sont présentées.
-
Dans le champ , saisissez
{{ @item }}et cliquez sur enregistrer les paramètres.Cette valeur sera convertie lors de l'exécution.
Par exemple, si le nombre est défini sur 3 et la valeur de départ sur 2, les résultats de cette boucle seront :
-
liste de boucle => ["2", "3", "4"] -
{{ @item }} => 2ou3ou4, selon l'itération
La boucle withItems permet d'itérer sur une liste d'éléments.
Elle peut être utilisée lorsqu'il est nécessaire d'effectuer des opérations basées sur une liste d'éléments.
Pour Créer un exemple de boucle withItems, suivez ces étapes :
-
Sélectionner un bloc vide et ouvrez la configuration .
-
Cliquez sur modifier la boucle.
Les options de configuration sont présentées.
-
Depuis le champ , Sélectionner withItems
-
Saisissez
endans le champ et cliquez sur +Item (un autre champ est Créer). -
Saisissez
dedans le second champ et Créer un troisième champ. -
Saisissez
frdans le troisième champ et Créer un quatrième champ. -
Saisissez
usdans le quatrième champ . -
Cliquez sur enregistrer la boucle.
-
Depuis la configuration , cliquez sur modifier les paramètres.
Les options de configuration sont présentées.
-
Dans le champ , saisissez
{{ @item }}et cliquez sur enregistrer les paramètres.Cette valeur sera convertie lors de l'exécution.
Les résultats de cette boucle seront une itération sur une liste de codes de langue :
-
liste de boucle => ["en", "de", "fr", "ua"] -
{{ @item }} => enoude .. ua
La boucle withComplexItems 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 withComplexItems, suivez ces étapes :
-
Sélectionner un bloc vide et ouvrez la configuration .
-
Cliquez sur modifier la boucle.
Les options de configuration sont présentées.
-
Depuis le champ , Sélectionner withComplexItems
-
Cliquez sur +Key:value pour ajouter une seconde clé.
-
Pour , saisissez ce qui suit :
-
-
: name
-
: projet 1
-
-
-
: Identifiant
-
: 11
-
-
-
Cliquez sur +Object pour ajouter un second objet et +Key:value pour une seconde clé.
-
Pour , saisissez ce qui suit :
-
-
: name
-
: projet 2
-
-
-
: Identifiant
-
: 22
-
Exemple de paramètres :
-
-
Depuis la configuration , cliquez sur modifier les paramètres.
Les options de configuration sont présentées.
-
Dans le champ , saisissez
{{ @item.name }}et cliquez sur enregistrer les paramètres. Cette valeur sera convertie lors de l'exécution.
Les résultats de cette boucle seront une itération sur une liste de projets :
-
boucle liste=>[ { "name": "Project 1", "id": 11 }, { "name": "Project 2", "id": 22 } ] -
{{ @item }}=>{ "name": "Project 1", "id": 11 } -
{{ @item.name }}=>Projet 1" ,translation_5: -
{{ @item.id }}=>11
La boucle withParam 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 simplement 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": "My Android Project",
"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 :
-
boucle liste=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", \"name\": \"English\" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ] -
Premier
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", \"name\": \"English\" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Anglais
Ou si {{ $.environments }} est référencé, alors :
-
boucle liste=>[\"development\", \"production\"] -
{{ @item }}=>developmentouproduction