Multi select fields in approval route templates
Organizations can use multi select fields in Jira and qTest for record approval routes:
Sample business rules
Consider the following scenario for Jira issues:
| Compliance (multi select field) | Technical | Business | Quality |
|---|---|---|---|
|
Qualification |
A |
|
|
|
SOX |
|
A |
|
|
GxP |
|
|
A |
|
Qualification & SOX |
A |
A |
|
|
Qualification & GxP |
A |
|
A |
|
SOX & GxP |
|
A |
A |
|
Qualification, SOX & GxP |
A |
A |
A |
Vera analysis and design
Based on the above requirement you need to make the following modifications:
-
Update Jira issue field and field values:
-
Add the Compliance field.
-
Add the Compliance field values: Qualification, SOX, GxP.
-
-
Add the Jira Issue record type data fields in the Records Management Policy.
-
Modify the Approval Policy:
-
Add new Approval Roles.
-
Add and modify Route Templates.
-
-
Update the approval policy with the following approval templates:
| Approval template name | Rank | Record type | Constraints | Level 1 approvers |
|---|---|---|---|---|
|
Qualification, SOX & GxP |
1 |
Jira Issue |
Compliance= (Qualification, SOX & GxP) |
Technical, Business, Quality |
|
Qualification & SOX |
2 |
Jira Issue |
Compliance= (Qualification & SOX) |
Technical, Business |
|
Qualification & GxP |
3 |
Jira Issue |
Compliance= (Qualification & GxP) |
Technical, Quality |
|
SOX & GxP |
4 |
Jira Issue |
Compliance= (SOX & GxP) |
Business, Quality |
|
Qualification |
6 |
Jira Issue |
Compliance= Qualification |
Technical |
|
SOX |
7 |
Jira Issue |
Compliance= SOX |
Business |
|
GxP |
8 |
Jira Issue |
Compliance= GxP |
Quality |
Rank determines the order route templates are evaluated by Tricentis Vera when a record is routed for approval. Use rank to ensure constraints are evaluated in the proper order. The rank can be any integer from 1 to 9999. Default is the lowest rank (highest number) so it is the last route template evaluated.
Jira project configuration
Add Custom Multi Select List field to Jira named Compliance and add options for Qualification, SOX and GxP. Make sure to add custom field to screens.
Tricentis Vera configuration
Now that you evaluated the business rules and updated Jira, you can Update Records Management Policy and Update Approval Policy.
Update Records Management Policy
To update the records management policy, add a Jira Issue record and fields. Ensure you add the Compliance field to the Jira Issue.
{
"Name": "Jira Issue",
"Definitions": [
{
"Systems": [
"JIRA"
],
"Singular Name": "Issue",
"Plural Name": "Issues"
}
],
"Fields": [
{
"Name": "Components",
"Is Data": true
},
{
"Name": "Description",
"Is Data": true
},
{
"Name": "Summary",
"Is Data": true
},
{
"Name": "Issue Type",
"Is Data": true
},
{
"Name": "Fix versions",
"Is Data": true
},
{
"Name": "Owner",
"Is Data": true
},
{
"Name": "Compliance",
"Is Data": true
}
]
}
Update Approval Policy
Approval roles and route templates are added to the approval policy.
Approval roles
Define the Technical, Business, and Quality Approval roles in the Approval Policy:
"Approval Groups": [
"Business",
"Technical",
"Quality",
"Data Owner",
"Product Team Member",
"Product Lead"
]
Approval templates
Now we can add the new route templates.
| Configuration element | Value | Code snippet |
|---|---|---|
|
Name |
Qualification, SOX & GxP |
Copy
|
|
Rank |
1 |
Copy
|
|
Record Type |
Jira Issue |
Copy
|
|
Constraints |
Compliance= (Qualification, SOX & GxP) |
The ALL and Field Contains constraints can be used for this business rule.
Copy
Default value for ignore case is false. |
|
Level 1 Approvers |
Technical, Business, Quality |
Copy
|
The completed Route Template for Qualification, SOX & GxP is below:
{
"Name": "Qualification, SOX & GxP",
"Rank": "1",
"Record Types": [
"Jira Issue"
],
"Levels": [
{
"Name": "Level 1",
"Approvers": [
"Technical",
"Business",
"Quality"
]
}
],
"Constraints": [
{
"Type": "ALL",
"Constraints": [
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "Qualification",
"Ignore Case": true
},
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "SOX",
"Ignore Case": true
},
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "GxP",
"Ignore Case": true
}
]
}
]
}
| Configuration element | Value | Code snippet |
|---|---|---|
|
Name |
Qualification & SOX |
Copy
|
|
Rank |
2 |
Copy
|
|
Record Type |
Jira Issue |
Copy
|
|
Constraints |
Compliance= (Qualification & SOX) |
The ALL & Field Contains constraints can be used for this business rule. Copy
Ignore Case default value is false. |
|
Level 1 Approvers |
Technical, Business |
Copy
|
The completed Route Template for Qualification, SOX & GxP is below:
{
"Name": "Qualification & SOX",
"Rank": "2",
"Record Types": [
"Jira Issue"
],
"Levels": [
{
"Name": "Level 1",
"Approvers": [
"Technical",
"Business"
]
}
],
"Constraints": [
{
"Type": "ALL",
"Constraints": [
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "Qualification",
"Ignore Case": true
},
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "SOX",
"Ignore Case": true
}
]
}
]
}
| Configuration element | Value | Code snippet |
|---|---|---|
|
Name |
Qualification & GxP |
Copy
|
|
Rank |
3 |
Copy
|
|
Record Type |
Jira Issue |
Copy
|
|
Constraints |
Compliance= (Qualification & GxP) |
The ALL & Field Contains constraints can be used for this business rule. Copy
Ignore Case default value is false. |
|
Level 1 Approvers |
Technical, Quality |
Copy
|
The completed Route Template for Qualification & GxP is below:
{
"Name": "Qualification & GxP",
"Rank": "3",
"Record Types": [
"Jira Issue"
],
"Levels": [
{
"Name": "Level 1",
"Approvers": [
"Technical",
"Quality"
]
}
],
"Constraints": [
{
"Type": "ALL",
"Constraints": [
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "Qualification",
"Ignore Case": true
},
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "GxP",
"Ignore Case": true
}
]
}
]
}
| Configuration element | Value | Code snippet |
|---|---|---|
|
Name |
SOX & GxP |
Copy
|
|
Rank |
4 |
Copy
|
|
Record Type |
Jira Issue |
Copy
|
|
Constraints |
Compliance= (SOX & GxP) |
The ALL & Field Contains constraints can be used for this business rule. Copy
Ignore Case default value is false. |
|
Level 1 Approvers |
Business, Quality |
Copy
|
The completed Route Template for SOX & GxP is below:
{
"Name": "SOX & GxP",
"Rank": "4",
"Record Types": [
"Jira Issue"
],
"Levels": [
{
"Name": "Level 1",
"Approvers": [
"Business",
"Quality"
]
}
],
"Constraints": [
{
"Type": "ALL",
"Constraints": [
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "SOX",
"Ignore Case": true
},
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "GxP",
"Ignore Case": true
}
]
}
]
}
| Configuration element | Value | Code snippet |
|---|---|---|
|
Name |
Qualification |
Copy
|
|
Rank |
5 |
Copy
|
|
Record Type |
Jira Issue |
Copy
|
|
Constraints |
Compliance= Qualification |
The Field Contains constraints can be used for this business rule. Copy
Ignore Case default value is false. |
|
Level 1 Approvers |
Technical |
Copy
|
The completed Route Template for Qualification is below:
{
"Name": "Qualification",
"Rank": "5",
"Record Types": [
"Jira Issue"
],
"Levels": [
{
"Name": "Level 1",
"Approvers": [
"Technical"
]
}
],
"Constraints": [
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "Qualification",
"Ignore Case": true
}
]
}
| Configuration element | Value | Code snippet |
|---|---|---|
|
Name |
SOX |
Copy
|
|
Rank |
6 |
Copy
|
|
Record Type |
Jira Issue |
Copy
|
|
Constraints |
Compliance= SOX |
The Field Contains constraints can be used for this business rule. Copy
Ignore Case default value is false. |
|
Level 1 Approvers |
Business |
Copy
|
The completed Route Template for SOX is below:
{
"Name": "SOX",
"Rank": "6",
"Record Types": [
"Jira Issue"
],
"Levels": [
{
"Name": "Level 1",
"Approvers": [
"Business"
]
}
],
"Constraints": [
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "SOX",
"Ignore Case": true
}
]
}
| Configuration element | Value | Code snippet |
|---|---|---|
|
Name |
GxP |
Copy
|
|
Rank |
7 |
Copy
|
|
Record Type |
Jira Issue |
Copy
|
|
Constraints |
Compliance= GxP |
The Field Contains constraints can be used for this business rule. Copy
Ignore Case default value is false. |
|
Level 1 Approvers |
Quality |
Copy
|
The completed Route Template for GxP is below:
{
"Name": "GxP",
"Rank": "7",
"Record Types": [
"Jira Issue"
],
"Levels": [
{
"Name": "Level 1",
"Approvers": [
"Quality"
]
}
],
"Constraints": [
{
"Type": "Field Contains",
"Name": "Compliance",
"Value": "GxP",
"Ignore Case": true
}
]
}
Policy samples
When you route a Jira Issue for approval, the Compliance field set to any combination of Qualification, SOX or GxP, the corresponding approval template will be applied to the record.
Sample Records Management Policy and Approval Policy created during this exercise: