Orchestrator

Looping

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

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 Advanced da configuração de um bloco, ou clicando com o botão direito em um bloco e selecionando editar loop.

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 loop_with:

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

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:

  1. Selecione um bloco vazio e abra a configuração de Loop.

  2. Clique em editar loop.

    As opções de configuração de loop_with são apresentadas.

  3. No campo loop_with, Selecionar withSequence.

  4. Insira o número de iterações do loop no campo Count.

  5. Opcionalmente, insira um valor a partir do qual o loop deve começar e/ou terminar.

  6. Clique em Save loop.

  7. Na configuração Parameters, clique em Edit parameters.

    As opções de configuração são apresentadas.

  8. No campo Message, 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 }} => 2 ou 3 ou 4, com base na iteração

withItems

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:

  1. Selecione um bloco vazio e abra a configuração de Loop.

  2. Clique em editar loop.

    As opções de configuração de loop_with são apresentadas.

  3. No campo loop_with, Selecionar withItems

  4. Insira en no campo variable e clique em +Item (outro campo variable é criado).

  5. Insira de no segundo campo variable e Criar um terceiro campo.

  6. Insira fr no terceiro campo variable e Criar um quarto campo.

  7. Insira us no quarto campo variable.

  8. Clique em Save loop.

  9. Na configuração Parameters, clique em Edit parameters.

    As opções de configuração são apresentadas.

  10. No campo Message, 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 }} => en ou de .. ua

withComplexItems

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:

  1. Selecione um bloco vazio e abra a configuração de Loop.

  2. Clique em editar loop.

    As opções de configuração de loop_with são apresentadas.

  3. No campo loop_with, Selecionar withComplexItems

  4. Clique em +chave:valor para adicionar uma segunda chave.

  5. Para Objeto 1, insira o seguinte:

    • chave: Valor1

      • chave (Opcional): nome

      • (Opcional): projeto 1

    • chave: Valor2

      • chave (Opcional): ID

      • (Opcional): 11

  6. Clique em +Objeto para adicionar um segundo objeto e +chave:valor para uma segunda chave.

  7. Para Objeto 2, insira o seguinte:

    • chave: Valor1

      • chave (Opcional): nome

      • (Opcional): projeto 2

    • chave: Valor2

      • chave (Opcional): ID

      • (Opcional): 22

    Exemplo de configurações:

    Loop with Complex Items Example
  8. Na configuração Parameters, clique em Edit parameters.

    As opções de configuração são apresentadas.

  9. No campo Message, 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

withParam

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 withParam 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 }} => development ou production

Esse artigo foi útil?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.