Orchestrator

Looping

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

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 Avançado de uma configuração de bloco, ou clicando com o botão direito em um bloco e selecionando Editar loop.

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

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

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:

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

  2. Clique em Editar loop.

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

  3. Do campo loop_with, selecione withSequence.

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

  5. Opcionalmente, insira um valor de onde 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.

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

withItems

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:

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

  2. Clique em Editar loop.

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

  3. Do campo loop_with, selecione withItems

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

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

  6. Insira fr no terceiro campo variable e crie 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.

    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 }} => en ou de .. ua

withComplexItems

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:

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

  2. Clique em Editar loop.

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

  3. No campo loop_with, selecione comItensComplexos

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

  5. Para Objeto 1, insira o seguinte:

    • Chave: Value1

      • chave (opcional): nome

      • (opcional): Projeto 1

    • Chave: Value2

      • 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: Value1

      • chave (opcional): nome

      • (opcional): Projeto 2

    • Chave: Value2

      • 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. 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

withParam

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 comParam 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 }} => desenvolvimento ou produção

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.