By Robert Leitch on April 30, 2015
This series will cover in detail what each of Structure's synchronizers does, how it does it and what you can gain from it. There will be important guidelines and tips, as well as useful examples to get you started.
I'll set the scene by introducing the general concept of synchronization and synchronizers as a whole.
As it is, Structure updates its display in near real time whenever changes are made to JIRA issues.
Change the assignee on an issue via the JIRA interface, for example, and before you can blink the new assignee will be shown in the structure board. So what do we need synchronization for?
Synchronization in Structure goes much deeper than just updating the display of issue field values. I like to think of it as aligning 'Structure properties' of issues with their 'JIRA properties' and vice versa.
An issue's Structure properties define its location in any given structure (or absence therefrom), while its JIRA properties include field values and other attributes stored in JIRA.
Synchronization can be run manually (we refer to manual synchronization as Import and Export operations), or automatically as a background task.
Synchronization: even spookier than quantum entanglement
A synchronizer is a background process that listens for changes being made to JIRA issues, checks whether those issues have fallen into its scope, and takes action accordingly.
The scope and action depend on the type of synchronizer and its configuration.
Synchronizers always run under the credentials of the user that created them, and so can only act upon issues and structures within the limits of their creator's user permissions.
Different synchronizers are responsible for synchronizing different issue properties.
When an issue's JIRA properties are changed, synchronizers may act by adding the issue to or removing it from a structure, or by changing its position (i.e. changing its parent or rank) within a structure it is already contained in.
When an issue's Structure properties are changed (i.e. issues are added to, removed from or moved to different positions in a structure), some synchronizers can edit the issue's JIRA properties.
The standard synchronizers bundled with Structure can update Issue Links (see the Links Synchronizer), Epic Links and Agile Rank (the JIRA Agile Synchronizer) and Workflow Status (the Status Rollup Synchronizer).
Synchronizers that can edit JIRA properties must be handled with respect. If used incorrectly, they can inflict massive changes that may take time to undo.
For this reason, access to synchronizers should be strictly limited to 'authorized personnel only'.
In Structure version 2.8 we introduced global synchronizer permissions that restrict permission to create and edit synchronizers by group and project role. Upgrading from earlier versions is highly recommended.
If you're an admin and you haven't configured synchronizer permissions yet, please do it now.
In the next post I'll tell you some scary stories about what could go wrong if you don't,* and only after that I'll show you some really cool things you can do with synchronizers.
*They're not really so scary, especially when you know how to fix things if something does go wrong.
Hierarchical issues for great project management in Jira
Jira ClientDesktop client for Jira