Skip to main content

Variable Expression Limitations and Restrictions

The following limitations and restrictions apply to Harness variable expressions.

For general details about Harness variable expressions, see:


  • Harness does not support the Ternary conditional ?: operator from JEXL.
  • Harness permits variables only within their scope. You will not see a variable available in a field where it cannot be used. For example, if you use a Service Config variable you cannot resolves its expression in the Pre-deployment section of a Workflow because the Service is not used in Pre-deployment.
  • Do not use hyphens (dashes) in variable names, as some Linux distributions and deployment-related software do not allow them.
  • A variable value (the evaluated expression) is limited to 256 KB.

Variable Expression Name Restrictions

A variable name is the name in the variable expression, ${variable_name}.

Variable names may only contain a-z, A-Z, 0-9, _. They cannot contain hyphens or dots.

Certain platforms and orchestration tools, like Kubernetes, have their own naming restrictions. For example, Kubernetes doesn't allow underscores. Make sure that whatever expressions you use resolve to the allowed values of your target platforms.The following keywords are reserved, and cannot be used as a variable name or property:

or and eq ne lt gt le ge div mod not null true false new var return shellScriptProvisioner

See JEXL grammar details.