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

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 }}'

Qual é o próximo

Copyright © 2026 New Relic Inc.

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