Definitions and Calls

When you are creating a Workflow, there are different types of configuration overlays available. It's important to understand which overlays let you configure what.

Job Definitions and Job Calls

One key to understanding the Workflow Editor is knowing the difference between Job Definitions and Job Calls.

  • A Job Definition is an Object that defines what a Job is and how it works. It may include Parameter definitions, but it does not include values for those Parameters (other than their Default Expressions, if any). You can tell when you are editing a Job Definition because the configuration overlay is wide and contains multiple tabs down the side.

    Although you can edit some Job Definitions from within a Workflow, Job Definitions are not actually parts of a Workflow; Workflows simply refer to them. You can run a Job Definition separately or within the context of a Workflow.

  • A Job Call is a package of additional information that tells RunMyJobs how to run a specific Job Definition in the context of a Workflow. You can tell when you are editing a Job Call because the configuration overlay is narrow, has no tabs across the top, and does not let you change the Job Definition. A Job Call is technically part of its parent Workflow.

    Note: Depending on the type of Job, you may be able to edit the Job Definition by scrolling to the bottom and clicking Edit Job Definition. Just keep in mind that if you do this, you are editing the Definition of the Job, and any changes you make will affect all instances of that Job.

Warning: If you add a Job Call to a Workflow, and then select it in the Workflow Editor and click Edit Job at the top of the Job configuration overlay, you can use the Parameters tab on the left to add Parameters, delete Parameters, and change the configuration of existing Parameters. However, if you do so, those changes are written back to the Job Definition, not just the instance in the Workflow. This can lead to unexpected behavior when the Job Definition is run elsewhere (on its own or in other Workflows).

Workflow Definitions and Workflow Calls

It is equally important to understand the difference between Workflow Definitions and Workflows.

  • A Workflow Definition is technically a type of Job Definition. It lets you define Workflow-level Parameters, but it does not include values for those Parameters (other than their Default Expressions, if any). You can tell when you are editing a Workflow definition because the configuration overlay is wide and contains multiple tabs down the side. To display the Workflow Definition overlay, click the name of the Workflow in the Workflow Editor.

    You can run a Workflow Definition separately, or within the context of another Workflow. A Workflow that is part of another Workflow is a sub-Workflow.

  • A Workflow Call is a package of additional information that tells RunMyJobs how to run a Workflow Definition. It includes things such as default Status Handlers, which are not part of the Workflow Definition. It also allows for Parameter mapping.

    To display the Workflow Call overlay, click the START circle for the Workflow. The overlay has two tabs. The Default Statuses tab is displayed here.