Functions Versus Conditions
Polarion’s workflow engine supports two types of extensions, and Checklist provides both: Conditions control whether a transition is available. If a condition fails, the transition button is hidden or disabled in the UI. The user cannot attempt the transition at all. Functions execute during a transition. They can validate state and throw an exception to abort the transition (the user sees an error message), or they can perform actions like applying a template or resetting items.The Seven Workflow Extensions
Checklist provides five workflow functions and two workflow conditions. Every extension accepts achecklist parameter containing the custom field ID (or comma-separated IDs) of the checklist fields to evaluate.
Conditions
Functions
The checklist Parameter
Every function and condition requires a checklist parameter. The value is the technical ID of the custom field that holds the checklist data. To apply the extension to multiple checklist fields in a single transition, use a comma-separated list:
Validation Logic in Detail
Understanding exactly what “checked” means in the context of workflow validation prevents confusion. The rules are consistent across all functions and conditions:- Checked and Conditional both count as checked. A checklist item in either state satisfies any “is checked” requirement.
- None and Rejected do not count as checked. Both states block a transition that requires the item to be checked.
- Information items are excluded from all validation. They do not count toward checked or unchecked totals.
ChecklistAllCheckedrequires every non-Information item to be Checked or Conditional.ChecklistMandatoryCheckedrequires every non-Information item that is flagged mandatory to be Checked or Conditional.
allMandatory configuration property is true, every active item is treated as mandatory. In this case, ChecklistMandatoryChecked behaves identically to ChecklistAllChecked.
For a detailed breakdown of result states and counting, see Checklist States and Results.
Multi-Checklist AND Logic
When multiple checklist fields are specified in thechecklist parameter, the validation applies AND logic: every listed field must independently pass for the overall condition or function to succeed.
For example, with checklist = dod,dor:
ChecklistAllCheckedpasses only if all items in bothdodanddorare checked.ChecklistMandatoryCheckedpasses only if all mandatory items in both fields are checked.ChecklistFailIfAnyUncheckedthrows an error identifying the first field that has unchecked items.
Action Functions: Apply, Reset, Uncheck
The three action functions modify checklist content during a transition rather than validating it:ChecklistApplyTemplate
Applies the configured template to the specified fields. This is typically used on transitions that move a work item into a new phase where a fresh checklist is needed. The template merges into any existing content — it does not erase locally added items.ChecklistResetToTemplate
Resets the checklist to exactly what the template defines. This discards all locally added items and returns all template items to their default state (None). Use this for rework transitions where the checklist must be completed again from scratch. TheChecklistResetToTemplate function supports an optional skipForUsers parameter containing a comma-separated list of user IDs. Users in this list bypass the reset operation when they trigger the transition. This is useful during data migration or administrative bulk operations where you do not want automatic resets to undo manual changes.
ChecklistUncheckAll
Clears the result state of every item, setting them all back to None without changing the item list. This is less aggressive thanChecklistResetToTemplate because it preserves locally added items — it just unchecks everything.
Supported Object Types
All seven workflow extensions work across the three Polarion object types that support workflow transitions:
Plans support checklists but are not workflow-driven in the same way, so workflow functions and conditions are primarily relevant for the three types listed above.
Combining Functions and Conditions
A common pattern is to combine a validation condition with action functions on the same transition: Definition of Done enforcement:- Condition:
ChecklistMandatoryCheckedon the “Request Review” transition — the transition is only visible when all mandatory items are checked. - Function:
ChecklistFailIfMandatoryUncheckedon the same transition — a safety net that catches last-minute unchecking.
- Function:
ChecklistResetToTemplateon the “Return to Draft” transition — resets the checklist so the author must complete it again. - Function:
ChecklistUncheckAllon an alternative “Minor Rework” transition — preserves the item list but clears all states.
- Function:
ChecklistApplyTemplateon the “Create” transition — ensures every new work item starts with the correct checklist.
Interaction with Template Merging
TheChecklistApplyTemplate workflow function and the continuous template merging controlled by mergeTemplate and mergeTemplateResolved properties serve related but different purposes:
- Continuous merging happens every time a checklist is parsed (loaded). It keeps the checklist synchronized with the template.
- ChecklistApplyTemplate happens once, at transition time. It is a point-in-time application.
ChecklistApplyTemplate may seem redundant — the template is already being merged on every load. However, ChecklistApplyTemplate is still useful when continuous merging is disabled for certain statuses, or when you want to ensure the template is applied at a specific workflow point regardless of the merge configuration.
For more on template merging, see Template System.
Common Misconceptions
“Conditions and functions do the same thing.” They do not. Conditions control transition visibility; functions execute during transitions. A condition cannot display an error message, and a function cannot hide a transition button. “Rejected items pass validation.” They do not. Both Rejected and None count as “not checked.” Only Checked and Conditional pass validation. If your process uses Rejected to mean “not applicable,” and you want that to count as complete, you need to design your checklist so that only genuinely required items are present — or use the mandatory flag so that non-applicable items are not mandatory. “ChecklistResetToTemplate is the same as ChecklistUncheckAll.” It is not.ChecklistResetToTemplate removes locally added items and restores the template. ChecklistUncheckAll preserves all items (including local additions) and just clears their states.
See Also
- Checklist States and Results — detailed explanation of how states affect validation
- Template System — how templates and merging interact with workflow functions
- Configuration Property Hierarchy — how
allMandatoryand other properties influence workflow behavior - Guides — practical how-to guides for configuring workflow gates