GreenHopper Synchronizer lets you automatically synchronize GreenHopper Rank with the position of issues in the structure, and Epic/Theme field with the position of stories under epics in the structure.
GreenHopper synchronizer is available only for JIRA 4.2 or later and only when GreenHopper plugin is installed.
GreenHopper 5.8 introduced Global Rank field, which can be used to manage a multi-project backlog. GreenHopper synchronizer in Structure lets you select multiple projects to sync with when you are using Global Rank.
GreenHopper Synchronizer Parameters
A project that GreenHopper is used in. The structure may contain issues from other projects, they will not be affected.
When turned on, sub-tasks will be automatically added to the structure and forced to stay under their respective parent issues, like they do on GreenHopper's Planning Board. This works similarly to Sub-Tasks Synchronizer.
The field of type "GreenHopper Rank" that holds the rank (backlog order) for the selected Project. If you do not wish to synchronize rank, select Don't synchronize.
The field of type "Labels" that is used to hold the key of the Epic that the story belongs to. Typically named "Epic/Theme". If you do not wish to synchronize Epics content, select Don't synchronize.
Relevant only if an Epic Field is selected. Defines an issue type that is treated as Epic - typically named "Epic". All issues placed under an issue of this type in the structure will be updated to have Epic Field point to that issue.
This synchronizer supports both Import and Export / Resync into/from Structure (more about resync). Incremental synchronization watches both structure changes and GreenHopper changes and applies the change to the other side.
CAREFUL! Please be careful when using this synchronizer, especially when you add multiple issues to the Structure, as this may lead to massive updates in the GreenHopper ranks without undo.
GreenHopper Synchronizer Rules
- Issues that do not belong to the synchronized project and issues that are assigned to Fix Versions that have been released are not affected.
- This synchronizer does not add issues to the structure (with two exceptions, explained below). You can use Saved Filter synchronizer together with GreenHopper synchronizer to automatically add and position issues.
- With Auto-Add Subtasks mode on, sub-tasks are added to the structure if their parent is there in the structure.
- The sub-tasks are forced to stay under their parent, so if you move a subtask somewhere else, it will jump back under the parent again. You can rearrange the order of the sub-tasks, which will be sync'ed to the GreenHopper Rank if the Rank Field is configured.
- Repositioning issues in the structure causes Rank change and the repositioning issues on the Planning Board.
- Rearranging issues on the GreenHopper's Planning Board causes the issues to be rearranged in the structure.
- When issues are repositioned in the structure according to Rank, they are never moved under a different parent issue.
This restricts the possible rank changes in GreenHopper - you can only move an issue to the position of another issue that is under the same parent issue in the structure, otherwise the issue will "jump back" later.
- Placing an issue under an Epic in the structure will cause its Epic/Theme field to change to that Epic.
- It does not matter at what level of depth is the sub-issue. A sub-sub-sub-issue of an Epic issue will also have its Epic/Theme field updated.
- If you manually change Epic field to point to a different Epic, the issue will be repositioned under that Epic in the structure.
- An issue that has the Epic/Theme field pointed to an Epic in the structure will be automatically added to the structure.
How to Add Issues to Structure Sync'ed with GreenHopper
When GreenHopper synchronizer is enabled, it automatically updates GreenHopper order in background when any Structure change happens. So if you carelessly add issues from the sync'ed project to the structure in some random order, their ranks will be updated according to that order.
To add issues to the structure without breaking the existing backlog order:
- If adding manually on the Structure Widget, use JQL search and add order by Rank clause at the end of the query. Use the rank field that is used by the synchronizer.
- Select the position of the added issues carefully (best with drag-and-drop or copy/paste) - the order is likely to change unless you place issues under another issue without any other sub-issues (see Syncing Partial Orders below).
- If using Saved Filter synchronizer to add issues, add order by Rank clause to the Saved Filter's query. However, the new issues that are added with the Saved Filter synchronizer will appear at the end of the structure and so will have the latemost ranking.
Syncing Partial Orders
GreenHopper's Planning Board is flat (except for sub-tasks), and the Structure is hierarchical - so it is not possible to precisely rearrange Structure to have all issues come in the same order as they do on the Planning Board, without changing issue parents or making the Structure also flat.
Henceforth, the Structure syncs subsets of the issues in the hierarchy with GreenHopper rank. For example, consider the following Structure:
It is not possible to rearrange the sub-issues so that they come in the following order: B, E, C, F - although this is possible on the Planning Board. Instead, the structure will synchronize sub-sets of the issues in the Structure with GreenHopper. The following sub-sets will be synchronized separately:
- A, D - top-level issues: A must come before D on the Planning Board
- B, C - sub-issues of A are sync'ed separately, so B must come before C on the Planning Board
- E, F - ditto for the sub-issues of D