Loops podem ser implementados dentro de um fluxo de trabalho para repetir um conjunto de tarefas com base em condições definidas.
A configuração de loop é acessada na aba da configuração de um bloco, ou clicando com o botão direito em um bloco e selecionando .
As configurações de loop exigem uma lista de itens para operar:
-
Valores simples e únicos, que são então utilizáveis em parâmetros de tarefa como
{{ @item }}. -
Um objeto .JSON onde cada elemento no objeto pode ser endereçado por sua chave como
{{ @item.key }}.
Acessando os resultados agregados de um loop
A saída de todas as iterações pode ser acessada como uma matriz .JSON assim que um loop é concluído. A saída de cada iteração deve ser um arquivo .JSON válido.
Existem quatro tipos de loop que podem ser definidos e são selecionados no campo :
-
withSequence
-
withItems
-
withComplexItems
-
withParam
O loop withSequence permite uma iteração sobre uma sequência de números ou a geração de um intervalo de valores dentro de um fluxo de trabalho.
Ele pode ser usado para repetir um conjunto de etapas um número específico de vezes ou realizar operações com base em um intervalo de valores.
Para Criar um loop withSequence de exemplo, siga estas etapas:
-
Selecione um bloco vazio e abra a configuração de .
-
Clique em editar loop.
As opções de configuração de são apresentadas.
-
No campo , Selecionar withSequence.
-
Insira o número de iterações do loop no campo .
-
Opcionalmente, insira um valor a partir do qual o loop deve começar e/ou terminar.
-
Clique em Save loop.
-
Na configuração , clique em Edit parameters.
As opções de configuração são apresentadas.
-
No campo , insira
{{ @item }}e clique em Save parameters.Este valor será convertido em tempo de execução.
Por exemplo, se a contagem for definida como 3 e o valor inicial for 2, os resultados deste loop serão:
-
lista de loop => [\"2\", \"3\", \"4\"] -
{{ @item }} => 2ou3ou4, com base na iteração
O loop withItems permite a iteração sobre uma lista de itens.
Ele pode ser usado quando for necessário realizar operações com base em uma lista de itens.
Para Criar um exemplo de loop withItems, siga estas etapas:
-
Selecione um bloco vazio e abra a configuração de .
-
Clique em editar loop.
As opções de configuração de são apresentadas.
-
No campo , Selecionar withItems
-
Insira
enno campo e clique em +Item (outro campo é criado). -
Insira
deno segundo campo e Criar um terceiro campo. -
Insira
frno terceiro campo e Criar um quarto campo. -
Insira
usno quarto campo . -
Clique em Save loop.
-
Na configuração , clique em Edit parameters.
As opções de configuração são apresentadas.
-
No campo , insira
{{ @item }}e clique em Save parameters.Este valor será convertido em tempo de execução.
Os resultados deste loop serão uma iteração sobre uma lista de códigos de idioma:
-
loop lista => ["en", "de", "fr", "ua"] -
{{ @item }} => enoude .. ua
O loop withComplexItems permite iterar sobre uma lista de objetos.
Ele pode ser usado quando for necessário realizar operações com base em uma lista de itens complexos.
Para Criar um loop withComplexItems de exemplo, siga estas etapas:
-
Selecione um bloco vazio e abra a configuração de .
-
Clique em editar loop.
As opções de configuração de são apresentadas.
-
No campo , Selecionar withComplexItems
-
Clique em +chave:valor para adicionar uma segunda chave.
-
Para , insira o seguinte:
-
-
: nome
-
: projeto 1
-
-
-
: ID
-
: 11
-
-
-
Clique em +Objeto para adicionar um segundo objeto e +chave:valor para uma segunda chave.
-
Para , insira o seguinte:
-
-
: nome
-
: projeto 2
-
-
-
: ID
-
: 22
-
Exemplo de configurações:
-
-
Na configuração , clique em Edit parameters.
As opções de configuração são apresentadas.
-
No campo , insira
{{ @item.name }}e clique em Save parameters. Este valor será convertido em tempo de execução.
Os resultados deste loop serão uma iteração sobre uma lista de projetos:
-
lista de loop=>[ { "name": "Projeto 1", "id": 11 }, { "name": "Projeto 2", "id": 22 } ] -
{{ @item }}=>{ "name": "Projeto 1", "id": 11 } -
{{ @item.name }}=>Project 1 -
{{ @item.id }}=>11
O loop withParam permite a iteração sobre uma lista dinâmica que é saída de qualquer tarefa ou gatilho anterior.
Este loop é usado apenas como uma referência no campo de parâmetro.
Exemplo:
Saídas da tarefa (Strings: Publicar uma versão):
{
"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 as configurações de loop estiverem definidas com {{ $.locales }}, então:
-
lista de loop=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ] -
Primeiro
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "English" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Inglês
Ou se {{ $.environments }} for referenciado, então:
-
lista de loop=>["development", "production"] -
{{ @item }}=>developmentouproduction