Integrating Request and Package Workflows

Requests (Demand Management) and package workflows (Deployment Management) can be configured to work together to communicate at key points in the request and package processes. A request workflow step can jump to a preselected package workflow step. The package workflow step can receive the request workflow step, and then act on it to continue on to the next step in the process.

To integrate packages and requests at a level that does not rely on the workflow configuration, you can attach them to each entity as references, and then set dependencies on these references to control the behavior of the request or package. For example, you might specify a request as a predecessor to a package, so that the package cannot continue along its workflow until the request closes.

Two built-in workflow steps facilitate this cross-product workflow integration:

  • Jump workflow steps (wf_jump)

  • Receive workflow steps (wf_receive)

These steps are used at the points of interaction between workflows. Workflows can communicate through these jump and receive workflow step pairs.

The following example shows how this cross-product workflow integration can be useful:

  1. A request spawns a package for migrating new code to the production environment.

  2. The newly-spawned package must go through an Approval step.

  3. After the Approval step succeeds, the process jumps back to, and is received by, the request. The request then undergoes more testing and changes in the QA Environment.

  4. After successfully completing the QA Test, the process jumps from the request and is received by the package.

  5. Because the QA Test step was successful, the process can now migrate the code changes to the production environment.

Figure 3-16. Jump and receive workflow step pairs shows this process.

Figure 3-16. Jump and receive workflow step pairs

The jump and receive workflow step pair must be carefully coordinated. Each jump workflow step must have an associated receive workflow step, linked together by a common jump and receive workflow step label defined in the Workflow Step window. The transition values used to provide and exit the jump and receive workflow steps must also be coordinated.

To establish communication between request and package workflows:

  1. Set up the WF - Jump/Receive Step Labels validation for use in the Workflow Step window.

    This validation is used to join a jump and receive workflow step pair. The selected WF - Jump/Receive Step Labels must match in the paired jump and receive Workflow Step windows. See Step 1. Setting Up WF - Jump/Receive Step Label Validations .

  2. Use the wf_jump Built-in Workflow Event to create a jump workflow step.

    See Step 2. Generating Jump Step Sources .

  3. Use the wf_receive Built in Workflow Event to create a receive workflow step.

    See Step 3. Generating Receive Step Sources.

  4. Verify that both the jump and receive workflow steps specify the same entry in the WF - Jump/Receive Step Labels field and that the entry matches the transition value between the two steps.

    See Step 4. Including Jump and Receive Workflow Steps in Workflows.