Setting up Request Relationships (Beta)

Requests of two request types may have relationships. For example, a feature belongs to an epic, then the feature request can be related to the epic request as a child. This section describes how to set up request relationships.

Step 1: Turn on Enable Request Type Relationship feature toggle

All configurations about request relationships setup are enabled only when the Enable Request Type Relationship feature toggle is turned on.

Note: Once turned on, this feature toggles cannot be turned off.

For details, see Using Feature Toggles to Turn on/off Features.

Back to top

Step 2: Create reciprocal fields to embody request relationship

To set up a relationship between two requests, you should configure the following in the request types:

  1. Add a request field in each request type and configure it as a reciprocal field, so that the field returns requests of the other request type. For details, see Configure reciprocal field.
  2. In either request types, map two reciprocal fields. For details, see Map reciprocal fields.

When two request fields from two request types are reciprocal fields, they are interactively linked: when the value of one field is set , the other field is updated automatically with the corresponding value, and vice versa.

Example: Suppose there is a request of the Feature request type, say Feature abc. In the request Feature abc, we have the Epic field to store the epic this feature belongs to. There is another request of the Epic request type, say Epic xyz. in the request Epic xyz, we have the Features field to store all the features this epic contains.

If the Epic and Features fields are reciprocal fields, when you set the Epic field to Epic xyz in the request Feature abc, the Features field in the request Epic xyz will be updated to include the value Feature abc, and vice versa.

Configure reciprocal field

To configure a request field as a reciprocal field, edit the field attributes as follows.

Field attribute Requirement
Validation
  • Set Component Type to Auto Complete List.
  • Set Validated By to SQL - Custom.
  • In Returned Entity, select Request.
  • In Returned Request Type, select the other request type.

    For example, if you are configuring the Epic field validation in the Feature request type, set Returned Request Type to Epic.

  • In the Configuration tab > Column Headers section, set the first column to Request ID, and the second column to Description.

  • In the Configuration tab > SQL section, provide the select statement that queries the necessary database information. Make sure request ID and description is the first and second columns in the select statement.

    For example, select t.request_id,t.description,t.request_id from kcrt_requests t where t.request_type_id = 31311

Multi-Select Enabled

If you allow multiple values in the reciprocal field, select Yes. Otherwise, select No.

For example, an epic can include multiple features. The Features field in the Epic request type may contain multiple values. Therefore, select Yes for Multi-Select Enabled in the Features field.

A feature belongs to only one epic. The Epic field in the Feature request type allows only one value. Therefore, select No for Multi-Select Enabled in the Epic field.

For more information about configuring validations, see Use validations.

Map reciprocal fields

When two reciprocal fields are mapped, the relationship between the two requests is established.

To map reciprocal fields:

  1. Open a reciprocal field. Go to the Reciprocal Field tab.

  2. In the Request Type field, select the reciprocal request type.

    For example, if you are mapping the Epic field in the Feature request type, set Request Type to Feature.

  3. In the Field field, select the reciprocal field you want to map.

    For example, if you are mapping the Epic field in the Feature request type, set Field to Features.

    The Request Type and Field fields in the mapped reciprocal field is auto-filled with the current request type and field.

Once two reciprocal fields are mapped, neither of them can be mapped to other reciprocal fields. To release the reciprocal relationship, in either reciprocal fields, clear the Field value in the Reciprocal Field tab.

Limitations about reciprocal fields

  • If you update a reciprocal field by SOAP API, REST API, Mass Update or Quick Edit, its peer reciprocal field will be not updated automatically.
  • If a reciprocal field is display-only, it can still be updated when its peer reciprocal field is updated.
  • If you migrate a reciprocal field validation, the Returned Request Type of the validation will not be migrated.

  • If you migrate a request type that contains a reciprocal field and if the reciprocal field is mapped with another reciprocal field, then the mapped reciprocal field will not be migrated.

    Back to top