Os loops podem ser implementados dentro de um fluxo de trabalho para repetir um conjunto de tarefas com base em condições definidas.
Os loops são executados em sequência. Um máximo de 4 etapas pode ser executado em paralelo.
A configuração do loop é acessada na aba de uma configuração de bloco, ou clicando com o botão direito em um bloco e selecionando .
As configurações do loop requerem uma lista de coisas para operar:
-
Valores simples e planos, que podem ser usados em parâmetros de tarefa como
{{ @item }}. -
Um objeto .JSON onde cada elemento no objeto pode ser acessado pela sua chave, como
{{ @item.key }}.
Acessando os resultados agregados de um loop
A saída de todas as iterações pode ser acessada como um array .JSON uma vez 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 comSequência 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.
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 de amostra comSequência, siga estas etapas:
-
Selecione um bloco vazio e abra a configuração .
-
Clique em Editar loop.
As opções de configuração são apresentadas.
-
Do campo , selecione withSequence.
-
Insira o número de iterações do loop no campo .
-
Opcionalmente, insira um valor de onde 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.Esse 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:
-
loop list => ["2", "3", "4"] -
{{ @item }} => 2ou3ou4, com base na iteração
O loop withItems permite iteração sobre uma lista de itens.
Pode ser usado quando é necessário realizar operações com base em uma lista de itens.
Para criar um loop de amostra withItems, siga estas etapas:
-
Selecione um bloco vazio e abra a configuração .
-
Clique em Editar loop.
As opções de configuração são apresentadas.
-
Do campo , selecione withItems
-
Insira
enno campo e clique em +Item (outro campo é criado). -
Insira
deno segundo campo e crie um terceiro campo. -
Insira
frno terceiro campo e crie 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.Esse 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 list => ["en", "de", "fr", "ua"] -
{{ @item }} => enoude .. ua
O comItensComplexos loop permite iterar sobre uma lista de objetos.
Pode ser usado quando é necessário realizar operações com base em uma lista de itens complexos.
Para criar um loop de amostra comItensComplexos, siga estas etapas:
-
Selecione um bloco vazio e abra a configuração .
-
Clique em Editar loop.
As opções de configuração são apresentadas.
-
No campo , selecione comItensComplexos
-
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. Esse valor será convertido em tempo de execução.
Os resultados deste loop serão uma iteração sobre uma lista de projetos:
-
loop list=>[ { "name": "Projeto 1", "id": 11 }, { "name": "Projeto 2", "id": 22 } ] -
{{ @item }}=>{ "name": "Projeto 1", "id": 11 } -
{{ @item.name }}=>Projeto 1 -
{{ @item.id }}=>11
O loop comParam permite iteração sobre uma lista dinâmica que é saída de qualquer tarefa ou gatilho anterior.
Este loop é apenas usado como referência no campo de parâmetro.
Exemplo:
Saídas da tarefa (Strings: Publicar uma versão):
{
"created_at": "2015-01-28T09:52:53Z",
"ambientes": ["desenvolvimento", "produção"],
"id": "abcd1234cdef1234abcd1234cdef1234",
"locales": [
{
"code": "en-GB",
"id": "abcd1234cdef1234abcd1234cdef1234",
"name": "Inglês"
},
{
"id": "abcd5678cdef5678abcd5678cdef5678",
"name": "Alemão",
"código": "de_DE"
}
],
"platforms": ["android"],
"project": {
"created_at": "2015-01-28T09:52:53Z",
"id": "abcd1234cdef1234abcd1234cdef1234",
"main_format": "xml",
"name": "Meu Projeto Android",
"updated_at": "2015-01-28T09:52:53Z"
},
"updated_at": "2015-01-28T09:52:53Z",
"versão": 1
}
Se as configurações do loop estiverem definidas com {{ $.locales }}, então:
-
lista de loop=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Inglês" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "Alemão", "código": "de_DE" } ] -
Primeiro
{{ @item }}=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Inglês" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>Inglês
Ou se {{ $.environments }} for referenciado, então:
-
lista de loop=>["desenvolvimento", "produção"] -
{{ @item }}=>desenvolvimentoouprodução