Start a release from another release
With the Create Release task type you can automatically create and start a release based on a configured template. You can use the Create Release task for several different release orchestration scenarios.
In the “master release” scenario, one release starts multiple “subreleases” and then waits for them to finish. A Create Release task starts each subrelease. You can use one or more Gate tasks to cause the master release to wait until the subreleases are complete.
The Create Release task and Gate task are linked through a variable. You can configure each Create Release task to return the unique ID of the newly created release in an output variable. You can add each variable as a dependency in a Gate task.
This is an example of a master release that will start three subreleases:
This is an example of the Create Release tasks, showing the output variable that will be populated with the new release’s ID:
This is an example of a Gate task that will wait for all three of the subreleases to finish:
On the release dashboard, the detail view of the release timeline tile shows the subreleases that are created from the master release. Use this to view the relationship between the releases and to see if the subreleases will cause delays in the master release. Example of a master release with many subreleases:
The “kickstart” release scenario starts other releases and does not wait on them to finish. Use this if you have many small releases that you want to run in parallel. Example:
The Create Release tasks is configured as in the master/subrelease scenario. The use of output variables is optional in this case.
You can also use the Create Release task to connect releases together by starting a new release near or at the end of a release. Use this if you have multiple releases that you want to run in sequence.
Before this release ends, it will start another release:
The subsequent release will do the same:
You can use the Create Release task to create a series of recurring releases, all based on the same template. Use this for modeling sprints in releases.
For example, just before this release ends, it will start another release based on the same template: