Skip to main content

Enforce mandatory items on a transition (DoD / DoR gate)

  1. Open the workflow configuration for the work item type (or document/test run type) that carries your Definition of Done (dod) or Definition of Ready (dor) checklist.
  2. On the transition that should be gated, add the workflow function ChecklistFailIfMandatoryUnchecked.
  3. Set the checklist argument to the ID of the checklist custom field. Use a comma-separated list to validate more than one checklist field on the same transition.
This function blocks the transition with an error message naming the checklist field if any mandatory item is left unchecked. It runs on work items, documents (LiveDocs), and test runs.
Verify in applicationThe gathered context does not confirm the exact wording of the blocking error message. Note it during setup so you can add it to your own troubleshooting notes. The gathered context does not confirm the exact wording of the blocking error message. Note it during setup so you can add it to your own troubleshooting notes.

Require every item, not just mandatory ones

If a checklist should block the transition unless all items are checked (not only the ones flagged mandatory), enable the checklist’s allMandatory configuration so ChecklistFailIfMandatoryUnchecked treats every item as gating.
Decision flow showing how the allMandatory setting changes what ChecklistFailIfMandatoryUnchecked requires on the Mark Reviewed transition

Apply or re-apply a template as a gate action

Use ChecklistApplyTemplate on a transition to (re)populate a checklist field from its configured template as part of the transition action:
Calling this on a field that already has data re-applies the template content, so place it on transitions where you intend to reset/refresh the checklist (for example, an “init” action when a work item is created).

Freeze the checklist definition on a status

By default, a checklist’s structure keeps re-syncing to its template. To stop that once a work item (or document/test run) reaches a specific status — so the checklist “freezes” at whatever content was recorded so far — set:
For example, to freeze the dod checklist once a work item reaches status reviewed:
Freezing only affects future syncs — initialize the checklist firstA frozen checklist shows only the data already stored on the work item. If you add new items to the template but never re-sync the work item’s checklist before it reaches the frozen status, those new items will never appear. Make sure the checklist template has been applied (synchronized) to the work item before it reaches the frozen status — for example, by attaching ChecklistApplyTemplate to the transition that leads into that status.

Restrict who can change the checklist structure while frozen

Freezing the merge behavior stops automatic template re-sync, but users can still edit the checklist manually unless you also restrict who can change its structure. Combine freeze with the adminPermission configuration property:
Example — the dor checklist for userstory items can only be changed by anyone while still in draft, then locks down:
For the full permission property hierarchy and evaluation order, see Control Who Can Change the Checklist.

Reset the checklist to template on a status change

To make an approval-style transition also guarantee the checklist reflects the latest template before locking it down, attach ChecklistApplyTemplate to that transition’s function list, then apply the freeze properties above on the destination status.
Workflow transition Functions panel with ChecklistApplyTemplate added to the function list
Set the function’s checklist parameter to a comma-separated list of the checklist custom field IDs you want the transition to (re)apply the template to.
ChecklistApplyTemplate parameter dialog with the checklist parameter set to a comma-separated list of checklist custom field IDs
Verify the checklist is synchronized before marking an item approvedAttach ChecklistApplyTemplate to the same workflow function that marks an item approved (or whatever status triggers the freeze). This guarantees the checklist is synchronized to the latest template version at the moment it becomes frozen, rather than relying on someone having manually refreshed it earlier.

Make the checklist field fully read-only

In addition to permission-based structure locking, you can mark the underlying custom field itself as read-only using Administration > Work Items > Readonly Fields, or field-based permissions under Administration > User Management > Permissions Management. A fully read-only field blocks both structure changes and item checking — use this when no further interaction should be possible at all, rather than only blocking structure edits.

Verification

You should now see:
  • The gated transition rejected with an error when mandatory items (or, with allMandatory enabled, any item) are left unchecked.
  • The checklist structure on a work item in the frozen status staying unchanged even after the template is edited, until the freeze status is reverted or the checklist is explicitly re-applied.

See also

KB Articles
  • Freeze the checklist on some statuses
  • How to control who can change the list and when ?
  • Setup New Plan Checklist
Support TicketsSource Code
  • proc-checklist-src/com.nextedy.polarion.checklist/src/com/nextedy/polarion/checklist/ChecklistView.java
  • proc-checklist-src/com.nextedy.polarion.checklist/src/com/nextedy/polarion/checklist/DocumentChecklistView.java
  • proc-checklist-src/com.nextedy.polarion.checklist/src/com/nextedy/polarion/checklist/ChecklistAdminServlet.java
  • proc-checklist-src/com.nextedy.polarion.checklist/src/com/nextedy/polarion/checklist/IChecklistService.java
  • proc-checklist-src/com.nextedy.polarion.checklist/src/com/nextedy/polarion/checklist/internal/ChecklistAdminService.java
Last modified on August 31, 2026