I cicli possono essere implementati all'interno di un flusso di lavoro per ripetere una serie di attività in base a condizioni definite.
La configurazione del ciclo è accessibile nella scheda della configurazione di un blocco, oppure facendo clic con il tasto destro su un blocco e selezionando .
Le impostazioni del ciclo richiedono un elenco di elementi su cui operare:
-
Valori semplici e singoli, che sono quindi utilizzabili nei parametri dell'attività come
{{ @item }}. -
Un oggetto .JSON in cui ogni elemento nell'oggetto può essere indirizzato dalla sua chiave come
{{ @item.key }}.
Accesso ai risultati aggregati di un ciclo
L'output di tutte le iterazioni può essere accessibile come una matrice .JSON una volta completato un ciclo. L'output di ogni iterazione deve essere un file .JSON valido.
Esistono quattro tipi di ciclo che possono essere definiti e selezionati nel campo :
-
withSequence
-
withItems
-
withComplexItems
-
withParam
Il ciclo withSequence consente un'iterazione su una sequenza di numeri o la generazione di un intervallo di valori all'interno di un flusso di lavoro.
Può essere utilizzato per ripetere una serie di passaggi un numero specifico di volte o per eseguire operazioni basate su un intervallo di valori.
Per Crea un ciclo withSequence di esempio, seguire questi passaggi:
-
Selezionare un blocco vuoto e aprire la configurazione .
-
Fare clic su Edit loop.
Le opzioni di configurazione sono presentate.
-
Dal campo , Seleziona withSequence.
-
Inserire il numero di iterazioni del ciclo nel campo .
-
Facoltativamente, inserire un valore da cui il ciclo deve iniziare e/o terminare.
-
Fare clic su salvare loop.
-
Dalla configurazione , fare clic su modificare parameters.
Le opzioni di configurazione sono presentate.
-
Nel campo , inserire
{{ @item }}e fare clic su salvare parameters.Questo valore verrà convertito in fase di esecuzione.
Ad esempio, se il conteggio è impostato su 3 e il valore iniziale è 2, i risultati di questo ciclo saranno:
-
elenco loop => [\"2\", \"3\", \"4\"] -
{{ @item }} => 2o3o4, in base all'iterazione
Il ciclo withItems consente l'iterazione su un elenco di elementi.
Può essere utilizzato quando è necessario eseguire operazioni basate su un elenco di elementi.
Per Crea un ciclo withItems di esempio, seguire questi passaggi:
-
Selezionare un blocco vuoto e aprire la configurazione .
-
Fare clic su Edit loop.
Le opzioni di configurazione sono presentate.
-
Dal campo , Seleziona withItems
-
Inserire
ennel campo e fare clic su +Item (viene creato un altro campo ). -
Inserire
denel secondo campo e Crea un terzo campo. -
Inserire
frnel terzo campo e Crea un quarto campo. -
Inserisci
usnel quarto campo . -
Fare clic su salvare loop.
-
Dalla configurazione , fare clic su modificare parameters.
Le opzioni di configurazione sono presentate.
-
Nel campo , inserire
{{ @item }}e fare clic su salvare parameters.Questo valore verrà convertito in fase di esecuzione.
I risultati di questo ciclo saranno un'iterazione su un elenco di codici lingua:
-
loop elenco => ["en", "de", "fr", "ua"] -
{{ @item }} => enode .. ua
Il ciclo withComplexItems consente di eseguire l'iterazione su un elenco di oggetti.
Può essere utilizzato quando è necessario eseguire operazioni basate su un elenco di elementi complessi.
Per Crea un ciclo withComplexItems di esempio, segui questi passaggi:
-
Selezionare un blocco vuoto e aprire la configurazione .
-
Fare clic su Edit loop.
Le opzioni di configurazione sono presentate.
-
Dal campo , Seleziona withComplexItems
-
Fai clic su +Key:value per aggiungere una seconda chiave.
-
Per , inserisci quanto segue:
-
-
: name
-
: progetto 1
-
-
-
: ID
-
: 11
-
-
-
Fai clic su +Object per aggiungere un secondo oggetto e +Key:value per una seconda chiave.
-
Per , inserisci quanto segue:
-
-
: name
-
: progetto 2
-
-
-
: ID
-
: 22
-
Esempio di impostazioni:
-
-
Dalla configurazione , fare clic su modificare parameters.
Le opzioni di configurazione sono presentate.
-
Nel campo , inserire
{{ @item.name }}e fare clic su salvare parameters. Questo valore verrà convertito in fase di esecuzione.
I risultati di questo ciclo saranno un'iterazione su un elenco di progetti:
-
elenco ciclo=>[ { "name": "Progetto 1", "id": 11 }, { "name": "Progetto 2", "id": 22 } ] -
{{ @item }}=>{ "name": "Progetto 1", "id": 11 } -
{{ @item.name }}=>Progetto 1 -
{{ @item.id }}=>11
Il ciclo withParam consente l'iterazione su un elenco dinamico che è l'output di qualsiasi attività o trigger precedente.
Questo ciclo viene utilizzato solo come riferimento nel campo parametro.
Esempio:
Output dell'attività (Strings: Pubblica una release):
{
"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
}
Se le impostazioni del ciclo sono impostate con {{ $.locales }}, allora:
-
elenco ciclo=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ] -
Primo
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Inglese
O se {{ $.environments }} viene referenziato, allora:
-
loop elenco=>[\"development\", \"production\"] -
{{ @item }}=>developmentoproduction