Creating processes for Bundles

You can group services together into a Bundle, which can then be requested by end-users as a single item from the Service Catalog. Although the end-user is requesting a single bundle, the Request for the bundle needs to create a separate Child Request for each CI in the bundle.

This section describes how to design a process that automatically creates the correct Request process for each CI in a bundle as a Child Request on the Parent Bundle Request.

There is an example Bundle Request process supplied.

For more detailed information about designing processes, see the Designer Guide.

To design a process that creates a Child Request for each item in a bundle, you use an automatic action that creates the Child Request and populates the following fields on the Child Requests using a value type:

The CIs in a bundle are stored in a collection called Catalog Items, which is a relationship to the linking object called Config Item Bundle. This means that the value type you need to select for the Service Item is _Bundle/CatalogItems*/ConfigItem.

Because we are going to complete the Service Item field on the Child Requests with a value type that is based on the Bundle object, we need a separate automatic action that populates the Bundle field with the name of the bundle that was selected in the Service Item field on the Parent Request. This automatic action goes before the automatic action that creates the Child Requests.

In summary, we need two automatic actions to create the Child Requests:

  1. The first populates the Bundle field on the Parent Request with the bundle selected as the Service Item on the Parent Request.
    Because these attributes are of a different data type, this is done using a calculation.
  2. The second populates the Service Item, Request Type, and Process fields on the Child Requests with the required values for each of the CIs in the bundle.
    This is done using a value type.