• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Estrutura de loop

|View as Markdown (English)

Iterar por listas, mapas ou coleções usando loops.

Os loops iteram sobre coleções definidas por in, criando automaticamente variáveis index e element para cada iteração. Acesse-os com a expressão JQ ${{ .steps.<loopStepName>.loop.element }} ou ${{ .steps.<loopStepName>.loop.index }}.

O que os loops permitem:

  • Iterar sobre coleções, listas ou arrays
  • Processar cada item com element e rastrear a posição com as variáveis index
  • Fluxo do loop de controle com as instruções break e continue
  • Aninhar loops para processamento de dados complexos

Parâmetro

  • for (Obrigatório): Sinaliza o início do loop
  • in (Obrigatório, expressão de string): Expressão que avalia uma coleção
  • steps (Obrigatório): Etapas executadas em cada iteração. Pode incluir qualquer tipo de etapa, incluindo loops aninhados

Iterar com entradas de fluxo de trabalho

name: myWorkflow
steps:
- name: loopStep
type: loop
for:
in: '${{ .workflowInputs.list }}'
steps:
- name: step1
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: 'Element: ${{ .steps.loopStep.loop.element }}, Index: ${{ .steps.loopStep.loop.index }}'

Notas importantes

  • for: obrigatório. Elemento de nível superior indicando o início do loop
  • in: obrigatório. A coleção de entrada deve ser conversível para Java Array
  • steps: obrigatório. As etapas executam cada iteração
  • element e index atribuído automaticamente por iteração de loop
  • index é de base zero
  • element pode ser um tipo complexo para coleções complexas
  • Variáveis de loop e saídas de etapa só podem ser acessadas dentro do loop
  • Variáveis limpas na saída do loop e nulas se acessadas externamente
  • Os loops podem acessar variáveis definidas fora do loop.

Loop simples em inteiros

name: myWorkflow
steps:
- name: loopStep
type: loop
for:
in: ${{ [range(1; 6)] }}
steps:
- name: step1
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: 'Element: ${{ .steps.loopStep.loop.element }}, Index: ${{ .steps.loopStep.loop.index }}'

Loop simples para mapa

name: myWorkflow
steps:
- name: loopStep
type: loop
for:
in: '${{ [ { "key1": "val1" }, { "key2": "val2"} ] }}'
steps:
- name: step1
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: 'Element: ${{ .steps.loopStep.loop.element }}, Index: ${{ .steps.loopStep.loop.index }}'

Saltar dentro de um loop

Apenas pule entre as etapas nomeadas dentro do mesmo loop. Não é permitido pular para dentro/fora de loops, para loops internos/externos ou entre loops diferentes.

name: myWorkflow
steps:
- name: firstStep
type: action
action: internal.example.sayHello
version: '1'
- name: loopStep
type: loop
for:
in: '${{ .workflowInputs.list }}'
steps:
- name: step1
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: '${{ .steps.loopStep.loop.element }}'
next: step3 # Okay within the loop
- name: step2
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: '${{ .steps.step1.outputs.greeting }}'
- name: step3
type: action
action: internal.example.sayHello
version: '1'
next: firstStep # Not okay, first step is not in the loop context

Use break/continue em um loop.

Alterar o fluxo do loop com next: break ou next: continue. Estes são destinos de salto reservados implicitamente definidos dentro de loops. Fora dos loops, eles saltam para o fim do fluxo de trabalho.

end comporta-se como break dentro de loops. next funciona em etapas de switch ou qualquer tipo de etapa.

name: myWorkflow
steps:
- name: loopStep
type: loop
for:
in: '${{ [range(1; 6)] }}'
steps:
- name: insideLoopStep1
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: '${{ .steps.loopStep.loop.element }}'
next: continue
- name: insideLoopStep2
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: '${{ .steps.loopStep.loop.element }}'
- name: loopStepAgain
type: loop
for:
in: '${{ .workflowInputs.list }}'
steps:
- name: switchStep
type: switch
switch:
- condition: '${{ .steps.loopStepAgain.loop.index >= 0 }}'
next: break
- name: insideLoopStepAgain
type: action
action: internal.example.sayHello
version: '1'
inputs:
name: '${{ .steps.loopStepAgain.loop.element }}'

Lógica condicional

Combine loops com instruções switch

Polling de API REST

Use loops para fluxos de trabalho de polling de API

Esquema de definição: Loop

Referência completa da etapa de loop

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.