Configuration Conditions are used as a way to queue or discard a build if certain conditions are met. When creating a condition, you provide a behaviour, the build type it's applied to and a list of conditions. The following image shows the dialog when creating a configuration condition.

Behaviour

This field defines the behaviour of the build when the conditions are met. You can choose between Queue and Discard.

Queue

A Queue condition controls when a build should begin executing. If a build is triggered and it contains a Queue condition, Continua will not begin executing the build until all of the queue condition expressions have been met. The build will simply sit in the build queue waiting for all of its queue conditions to evaluate to true. Continua will immediately begin executing the build once all queue condition expression evaluate to true. This is handy for situations where you want to control how a configuration is executed.

For example, you could configure a queue condition so that no builds run between 9-5. To set this up you would create a queue condition with the following expression: $Server.Now.Hour$ Not between 9,16 (As seen in the screenshot above). With this condition, any builds in this configuration that were triggered between 9am and 5pm would sit on the queue until 5pm. At this point it would then run all the builds that were waiting on this condition. If a build was triggered outside these hours then it would run as normal.

 

 

Applied to

Conditions

The conditions listed here are the same as the other conditions in Continua. You can use the query syntax in the fields and supply multiple conditions. A Configuration condition is defined as being both the Behaviour and Applied to, plus the conditions listed here. You could also refer to these conditions as a Configuration condition's conditions. Regardless of the behavior of a Configuration condition, if any of the Configuration condition's conditions evaluate to true, then the specified behavior will result. Another way to interpret it would be: "If any of these conditions evaluate to true, my build will be Queued/Discarded".