Overview
Theversion: 2 env0.yaml schema introduces a change to how custom flow steps are configured and shown on env zero UI. These changes are reflected by:
- A new step schema, described here.
- Each custom step configured will be presented as a separate deployment step in env zero UI.

V1 String-Only Steps Backward CompatibilityAs the then his custom deployment step name would be echo foo in env zero UI.
version: 1 schema steps used to be a list of strings, the new version: 2 schema keeps this syntax as backward compatible. The only difference is that now string-only steps will have their name originated by the command they execute. For example, if a step is configured as:New Step Schema
Theversion: 2 steps are now configured as an object, rather than a string. This object includes the following attributes:
name(Required) - The name of the step that would be shown in env zero UI.run(Exactly one ofrunoruseis required) - The bash command/s to execute.use(Exactly one ofrunoruseis required) - The GIT URL of the env zero plugin in the form of<url>@<tag>(for e.ghttps://github.com/env0/[email protected])env- Anobjectcontaining a map of environment variables by key and value that will be available to the step. A reference to another environment variable value that’s available to the deployment is achievable by prefixing the value with the$sign.input(Relevant for plugins only) - Anobjectof attributes that are required as inputs to the env zero plugin. Read more about it here.executeAfterChild(Relevant for project level custom flows only) - Defaults tofalse. When set totruethe step will run after all the children’s (sub projects and environments under that project) similar hooks finished to run.
👍 Support for Multiline StringsIn case you’d like to include multiple bash commands under a single step, you can use the supported YAML multiline string syntax. Here’s an example:
Migrating from v1 Schema
In order to migrate from theversion: 1 schema and keep the same deployments step structure in env zero UI, you’ll need to include minor changes to your env0.yaml file.
Here’s an example of how to migrate such a file to version: 2: