The task structure (hierarchy) of a Box can be generated automatically by the App according to your specifications. Activate structure builders, and the system will use them to organize your tasks. The order of active builders corresponds to their business priority and can be adjusted. Selected structure builders will be active by default in all newly created Boxes of this type.

The default structure builders are set up based on a selected Box type; however, you can modify configuration of an individual Box in the Box configuration > Tasks > Task structure.

The App cannot duplicate tasks. When you enable conflicting structure builders, your tasks will be nested under the structure builder with higher priority (higher on the list).


Keep in mind:

  • A “Box type” contains the default settings applicable to multiple Boxes (all Boxes of a given type). Those settings are adjusted in Box type administration .
  • Box configuration refers to settings of a single, individual Box. They are dependent on the “Box type” settings. 

Security and access

  • Only users with the App admin security role can edit Box types and access Administration.
  • Access:
    • Click the "wrenchicon at the top right and select "Box types" from the drop-down list.
    • Click a Box type name to select it and open its settings.
    • On the left, go to Tasks > Task structure tab.


Jira Structure builders

An Index corruption might result in a loss of structure on Jira server, if a user opens one of the Boxes and the synchronization is triggered.

While the structure algorithm is very advanced, some hierarchies are impossible to generate automatically. This is due to the limitation of Jira and because the App can not duplicate task in the hierarchy. Read more about Conflicting structure builders.


Different tools offer different ways to automate the task structuring. Out of the box, Jira provides Task<->Sub-tasks hierarchy or Epic link based hierarchy, but you can build a much more advanced hierarchy using the App.

There are two types of structure builders - built-in and link-based. When you activate one of the built-in structure builders, a task representing a Sprint, Component, Version, Project will be automatically added in the task types box in the automated rules of the Scope definition page. The link-based structure builders use a Jira link to define the parent/child relation. Links which are already in-use by the App (go to Dependencies to check the link mapping),  can not be used as structure builders.

For example, the WBS - DEMO Box has a project with three task in the Box scope with no hierarchy:

Let's enable the 'Project' structure builder:

As a result, a new task representing the project (WD - is the project key) was added to the list as a parent task:

Now, let's create an Epic and the WD-1 task to it:

The last step is to activate the 'Epic' structure builder:


The T1 task is now nested under the Epic parent task:

Advanced Roadmaps for Jira Software (formerly Portfolio)

Available only when Jira (Advanced) Roadmaps App has been installed on your Jira instance. 

Structure builder name → Jira (Advanced) Roadmaps Parent Link structure builder is based on a special type of custom field (‘Parent Link’) that is not visible directly from the level of a particular issue. The "Parent Link" custom field must be present on the custom fields list of the Jira instance.

Trello Structure builders

When you connect external tools, you will see an additional section with Structure builders specific to that tool. In the case of Trello, these include Boards, Lists, Checklists, and Checklist Items:

For example, let's generate a hierarchy resembling how data is presented on a Trello Board - task are organized into lists on the BigPicture Power-Up Public Roadmap:

To generate such a hierarchy, enable the 'Boards' and 'Lists' structure builders:

As a result, tasks are organized just as on the Trello board:

Resetting the structure

To assure that you always achieve the same hierarchy, start building it from scratch. You can reset the hierarchy when all the structure builders are deactivated. The "Reset" toggle button will appear next to the "Save" button in the top-right corner.


Automated structure building - how does the algorithm work?

Structure builders - basic rules

Below are some main points worth remembering when using structure builders:

  • the order in which the elements are listed corresponds to the order in which they will be nested (it defines the sequence of the parent finding loops)
  • the order of active builders can be changed - once you activate the elements you wish to use, you can drag them to a different spot on the list

  • once the structure builders are defined and the tasks loaded in the Box, the structure is preserved by the App until a change is forced to rebuild the structure (for example by manually moving the tasks or resetting the structure and implementing a new order of structure builders) - un-toggling elements will not undo changes previously saved and implemented

  • rearranging the structure builders does not mean that the remembered task structure is reorganised (the system always applies the rules to the existing state of things, so if you already have a structure in place it won't be overriden - rules will apply only wherever possible)

  • tasks already in the scope of a Box may have different parents than those newly added (even though they have the same potential parents, like links or projects) as it depends on the structure builders' settings at the moment of adding a tasks 

  • tasks newly added to the scope of a Box follow the rules currently defined in the structure builders' settings

  • it is important to pay attention to inverse option while using the 'Link based' structure builders to get the parent child relations represented correctly in the task structure

  • the "Relates to" Link structure builder may be misleading as it is difficult to see the difference between inward and outward links

When a full-sync is executed, the following steps regarding structure building are performed:

  1. The App adds all additional tasks (all tasks which are not Jira issues, Projects, Components, Versions, Agile Backlogs, Agile Sprints, in case of Trello, Boards, Lists, Checklists Checklist Items) to have all tasks in the scope (and as a consequence: all potential parent tasks in the scope).
  2. A App executes two following loops to build a proper task structure: 
    1. a loop for all active structure builders,
    2. a loop for all tasks in the scope.
  3. It means that: 
    1. At first, the App tries to find a parent task for every task consecutively based on the first active structure builder,
    2. Then it tries to find a parent task again for every task consecutively based on the second active structure builders etc. until all active structure builders are verified.
  4. The following rules are Applied by finding a parent task for a given task within a consecutive structure builder: 
    1. the App always respects an already built structure by indenting a task (if an indent of the task would be contradictory to its current parent tasks, then an indent is not executed so that a structure builder never overwrites the current task structure)
    2. an indented task is always moved with all its child tasks.
Please note, that the final result of the automatically built task structure based on the active structure builders can be different depending on the structure at the moment of the full-sync.

If you want to reorganise your task structure entirely after it was already built, follow the steps:

  1. switch of all structure builders,
  2. select "reset Work Breakdown Structure" option,
  3. click on "Save and sync".

After taking those steps, your scope will be flattened. Activate the new structure builders to build a respective task hierarchy again.


Illustrative example

The input data is presented in the tabel below:

#1 Tasks in the scope:

Task

Jira project

Fix Versions

Epic link

Project Ana.na.na.
Version 1.0Ana.na.
Version 2.0Ana.na.
Epic-1A-na.
Epic-2A1.0na.
Story-1A1.0Epic-1
Story-2A-Epic-1
Story-3A-Epic-2
Story-4A1.0Epic-2
Story-5A2.0Epic-2

#2 Active structure builders:

  1. Project
  2. Version
  3. Epic

#3 The list of the tasks at the beginning of the WBS building is flat (no parent tasks).

Output data (automatically built structure):

1st level

2nd level

3rd level

4th level

Explanation of the task position in a structure

Project A


the task does not have a parent resulting from active structure builders


Version 1.0

the parent is Project A, as:

  • "Project structure builder" condition is met


Epic-2

the parent is Version 1.0, as:

  • "Project structure builder" condition is met
  • "Version structure builder" condition is met



Story-3

The parent is Epic-2, as:

  • "Project structure builder" condition is met
  • "Epic structure builder" condition is met
  • "Version structure builder" condition is not applicable (Epic1 does not have a version specified)



Story-4

The parent is Epic-2, as:

  • "Project structure builder" condition is met
  • "Epic structure builder" condition is met
  • "Version structure builder" condition is met


Story-1


The parent is Version 1.0, as:

  • "Project structure builder" condition is met
  • "Version structure builder" condition is met
  • "Epic structure builder" condition is ignored ie. version structure builder has a higher priority and Epic builder would cause a conflict (Epic-1 is not included in Version 1.0)

Version 2.0

The parent is Project A, as:

  • "Project structure builder" condition is met


Story-5

The parent is Version 2.0, as:

  • "Project structure builder" condition is met
  • "Version structure builder" condition is met
  • "Epic structure builder" condition is ignored ie. version structure builder has a higher priority and Epic builder would cause a conflict (Epic-1 is not included in Version 2.0)

Epic-1

The parent is Project A, as:

  • "Project structure builder" condition is met
  • "Version structure builder" condition is not applicable (Epic-1 does not have any version specified)


Story-2


The parent is Project A, as:

  • "Project structure builder" condition is met
  • "Version structure builder" condition is not applicable (Epic-1 does not have any version specified)
  • "Epic structure builder" condition is met