Os circuitos podem ser implementados em um fluxo de trabalho para repetir um conjunto de tarefas com base em condições definidas.
Os circuitos executam em sequência. No máximo 4 etapas podem ser executadas em paralelo.
A configuração de loop é acessada na aba
de uma configuração de bloco, ou fazendo clique direito em um bloco e selecionando .Configurações de loop precisam de uma lista de coisas para trabalhar em:
-
Valores simples e simples, que podem ser usados em parâmetros de tarefa como
{{ @item }}
. -
Um objeto .JSON em que cada elemento no objeto pode ser endereçado por sua chave como
{{ @item.key }}
.
Acesso aos resultados agregados de um circuito
A saída de todas as iterações pode ser acessada como uma matriz .JSON após a conclusão de um circuito. A saída de cada iteração deve ser um arquivo .JSON válido.
Existem quatro tipos de circuitos que podem ser definidos e são selecionados no campo
:-
withSequence
-
withItems
-
comComplexItems
-
withParam
O circuito comSequence
permite uma iteração em uma seqüência de números ou a geração de uma gama de valores em 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 uma amostra com o
circuito Sequence, siga estes passos:
-
Selecione um bloco vazio e abra a configuração
. -
Clique Edicionar circuito.
As opções de configuração
são apresentadas. -
No campo comSequence.
, selecione -
Insira o número de iterações de circuitos no campo
. -
Opcionalmente, insira um valor com o qual o circuito deve começar e/ou terminar.
-
Clique em Gravar circuito.
-
Na configuração Edicionar parâmetros.
, clique emOpções de configuração são apresentadas.
-
No campo
insira{{ @item }}
e clique em Gravar parâmetros.Este valor será convertido no tempo de execução.
Por exemplo, se a contagem for definida como 3 e o valor de início for 2, os resultados desse circuito serão:
-
lista de circuitos => ["2", "3", "4"]
-
{{ @item }} => 2
ou3
ou4
, com base na iteração
O circuito comItems
permite a iteração em uma lista de itens.
Pode ser usado quando precisa realizar operações com base em uma lista de itens.
Para criar um ciclo de amostra comItems
, siga estes passos:
-
Selecione um bloco vazio e abra a configuração
. -
Clique Edicionar circuito.
As opções de configuração
são apresentadas. -
No campo withItems
, selecione -
Digite
en
no campo e clique em +Item (uma outra é criada). -
Insira
d
no segundo campo e crie um terceiro campo. -
Insira
f
no terceiro campo e crie um quarto campo. -
Insira
nos
no quarto campo . -
Clique em Gravar circuito.
-
Na configuração Edicionar parâmetros.
, clique emOpções de configuração são apresentadas.
-
No campo
insira{{ @item }}
e clique em Gravar parâmetros.Este valor será convertido no tempo de execução.
Os resultados deste circuito serão uma iteração sobre uma lista de códigos de idiomas:
-
loop lista => ["en", "de", "fr", "ua"]
-
{{ @item }} => en
oude .. ua
O circuito comComplexItems
permite iterar sobre uma lista de objetos.
Pode ser usado quando precisa realizar operações com base em uma lista de itens complexos.
Para criar uma amostra com o circuito ComplexItems
, siga estes passos:
-
Selecione um bloco vazio e abra a configuração
. -
Clique Edicionar circuito.
As opções de configuração
são apresentadas. -
No campo comComplexItems
, selecione -
Clique +Chave:valor para adicionar uma segunda chave.
-
Para
, insira o seguinte:-
-
: nome
-
: Projeto 1
-
-
-
: ID
-
: 11
-
-
-
Clique +Objeto para adicionar um segundo objeto e +Chave:value para uma segunda chave.
-
Para
, insira o seguinte:-
-
: nome
-
: Projeto 2
-
-
-
: ID
-
: 22
-
Amostra de configurações:
-
-
Na configuração Edicionar parâmetros.
, clique emOpções de configuração são apresentadas.
-
No campo
insira{{ @item.name }}
e clique em Gravar parâmetros. Este valor será convertido no tempo de execução.
Os resultados desse circuito serão uma iteração em 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 }}
=>Projeto
1 -
{{ @item.id }}
=>11
O circuito comParam
permite a iteração em uma lista dinâmica que é saída de qualquer tarefa ou acionamento anterior.
Este circuito só é usado como referência no campo parâmetro.
Exemplo:
Saídas de tarefa (Strings: Publicar um lançamento
):
{ "created_at": "2015-01-28T09:52:53Z", "environments": ["development", "production"], "id": "abcd1234cdef1234abcd1234cdef1234", "locales": [ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Inglês" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "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", "version": 1 }
Se as configurações de circuito {{ $.locales }}
, então:
-
lista de loop
=>[ { "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Inglês" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "German", "code": "de_DE" } ]
-
Primeiro
{{ @item }}
=>{ "code": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "Inglês" }
-
{{ @item.code }}
=>en-GB
-
{{ @item.name }}
=>Inglês
Ou se for referência a {{ $.environments }}
, então:
-
loop list
=>["desenvolvimento", "produção"]
-
{{ @item }}
=>desenvolvimento
ouprodução