////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////
:documentationPath: /plugins/actions/
:language: en_US
:page-alternativeEditUrl: https://github.com/apache/incubator-hop/edit/master/plugins/actions/repeat/src/main/doc/repeat.adoc
= Repeat

== Description

This action allows you to repeat the pipeline or workflow of your choice until a certain condition.
The condition is either:

* A variable in the workflow is set or set to a certain value
* The End Repeat action is executed in the specified repeating workflow

== Options

[width="90%", options="header"]
|===
|Option|Description

|Workflow action name|The name of the workflow action.

|File to repeat|The filename of the pipeline or workflow to execute repeatedly.

|Run configuration|The pipeline or workflow run configuration to use.

*Please note* that if you set a variable on a remote server the value is currently not reported back so only local workflow engines are currently supported.

|Stop repeating when this variable is set|Specify the variable you want to be checked before stopping the repeat loop

|Optional variable value| Only stop repeating when the above variable is set and contains this exact value

|Keep variable values after execution| This option keeps the variable values after a (repeating) pipeline or workflow execution to inject into the next iteration.

|Logging file|In this group you can specify if you want to log to a file and how that should be done

|Parameters/Variables to set|You can specify the values of any parameters or variables in this dialog.
The values can contain variables themselves which will be resolved before every iteration.
If the option ```Keep variable values after execution``` is set we evaluate the expression only once before the first execution of the file.

|===

