Dark Feature - Synchronizers are hidden by default

We recommend using Automation instead of Synchronizers. Automation is safer, provides additional functionality and flexibility, and uses fewer system resources.

To enable synchronizers, see Advanced Configuration and Dark Features.

The “Double-check sub-issues” option is useful when you want to build and, more importantly, maintain a structure where you have:

  • A certain set of issues on the top level
  • All issues linked to those issues placed beneath them

Specifically, the Double-Check option is necessary for removing top level issues (and all the issues linked to them), when the top level issue no longer passes the synchronizer filter.

Example

You are trying to build a structure with all Open Stories on the top level and the issues that block them added below.

To build this structure you will need to configure the Filter synchroniser, which will add Open Stories to the top level, and the Links synchroniser, which will add linked issues.

To get the list of the top level issues, you could use the following JQL query:

issuetype = Story and status = open
CODE

However, if you use this as the filter query and select the remove option, the Filter Synchroniser will remove all children added by the Link Synchronizer, because the children do not pass the JQL query.

To solve this problem, you can extend the query with an S-JQL expression, which returns both parents and their children, which are already in the structure - this will prevent the Filter Synchronizer from removing children from the Structure:

(issuetype = Story and status = Open) or issue in structure(“Open Stories Structure“, "issueOrAncestor in [type = Story and status = Open]”)
CODE


Now the last step is to automatically remove any stories (and issues linked to them), when the status of the story changes. If the Double-Check option is not selected, once the Story status changes, the synchronizer will see that the Story should be removed, but will think that the children still pass the filter (because there were no explicit changes done to them). As a result, it will keep both the Story and the children in the Structure. Selecting the Double-Check option will force it to check if the children still pass the filter - and it will remove the whole branch.