You can link projects together using a feature called chaining. You can use this feature to maintain frequently-used groups of steps separately from projects that depend on them. Other uses include executing automated test and deployment projects on completion of certain steps. Chaining can also be used to clean up files no longer needed by development teams, by assigning a project to be run on the completion of a job of a specific class.
There are two basic types of chaining:
Inline: An inline chain runs in series with the calling project. The steps of the chained project act as if they were part of the calling project; they ignore environments from their own project.
Pass Chain or Fail Chain: A pass or fail chain runs conditionally when the calling step passes or fails. If you want to chain a project unconditionally, select the same project for both conditions.
It applies its own project environments after applying the calling project's environments. See also Environment Variable Inheritance in Chained Projects.
If the chained project has a server defined, it uses that server; if not (if it is a library project, with Default as its server), it uses the calling project's server.
The chained project inherits the class of the calling project.
If you want to include a platform-independent step as a placeholder step for chaining a project, you can use .sleep 0 as the step command.
If you use a .break command within a chained project, the system stops the chained project but returns control to the calling project, which then continues. See .break.
You can create nested sets of chained projects. When you chain (launch) one project from another (using inline chains or pass/fail chains), the chained project can itself be chained to another project. The chain of projects you can create can be no more than 32 levels deep, but is otherwise limited only by the available memory of your Management Console.