The task structure or hierarchy within a Box can be generated automatically by the App. You can set the suitable rules, to structure your tasks, by activating respective structure builders.

The order of structure builders reflects the levels of the hierarchy or in other words, the first structure builder determines the highest level within the structure.

When you manually reposition a task in the task structure, task fields are updated to match structure buildersThe sync mechanism is responsible for mirroring the changes done by the user in the task structure in BigPicture in Jira issues. In other words, if the user indents, outdents or drags & drops tasks within the task structure, relevant changes in tasks' fields responsible for their position are done automatically. The fundamental prerequisite for the changes to be made is active Structure Builders.

Security and access

  • Only a user with a minimum Box admin security role can access and change the Box configuration.
  • To change the task structure configuration go to Box configuration > Tasks > Task structure:


Jira Structure builders - generating a task tree

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 tasks in the hierarchy. Read more about Conflicting structure builders.

Custom vs templates

Different tools offer different ways to automate 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.

Templates

There are three templates available:

  • Agile
  • Agile (multiple projects)
  • Release

Custom

When you modify the advanced configuration you automatically switch to custom settings. 

Structure Preview

On the right-hand side of the advanced settings you can see the preview of the tree structure:

If the structure can't be generated because of conflicts, a warning appears on the right:

Constraints:

  • only built-in structure builders are visualized on the right
  • link-based structure builders can't be visualized on the right

Types of structure builders

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 that are already in use by the App (go to .Link configuration to check the link mapping), cannot be used as structure builders.

Parent's movement in the structure does not replace custom Links by Epic Link.

Epic Link for the task is not changed.

For example, the WBS - DEMO Box has a project with three tasks 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:

"Parent" structure builder - Jira Cloud only 

For Jira Cloud, 'Jira Advanced roadmaps' structure builder has been replaced with the Parent structure builder.

Atlassian introduced a unification of fields responsible for some parent-child relations (Epic link, sub-task, Jira (Advanced) Roadmaps). Parent Link is now handled by the same field (Parent). 

Only link-based structure builders have an "inverse" option. When a link-based structure builder is active an additional checkbox appears on the right in the "inverse" column. When you put a checkmark in the box, links of a selected type will be used in inverse to build a structure. 


In the example below, the task structure is based on "Blocks" links.

For tasks 1, 2, 3:

  • 1 blocks 2
  • 2 blocks 3 

When multiple link-based structure builders are active, you can select which link should be created (when you make changes in the task tree).

Example

Task structure configuration example: 

Result - when you reposition a task in a tree, a pop-up appears:




Manually moving a task = task fields are updated to match structure builder values

When you manually reposition a task in the task structure, task fields are updated to match structure buildersThe sync mechanism is responsible for mirroring the changes done by the user in the task structure in BigPicture in Jira issues. In other words, if the user indents, outdents or drags & drops tasks within the task structure, relevant changes in tasks' fields responsible for their position are done automatically. The fundamental prerequisite for the changes to be made is active Structure Builders.


Example:

When the following structure builders are active in a Box:



And then a task moved:

Epic link is added to a task as per structure builders. 

Built-in

Built-in structure builders' values are applied to all nested tasks (regardless of the indentation level).

In the example below, 'epic link' has been used as a structure builder:

Result:


Link-based structure builders are applied only one level down (to a direct child of a task). 

Multiple link-based structure builders can apply at the same time.

Link-based structure builders can't overlap with built-in structure builders. 

With this setup, there will be no "Parent to child relationships" link added between the epic and tasks nested directly under the epic.



Resetting the structure (WBS)

Change structure builders

Adjust the structure builders and click "Save". The task structure is rebuilt accordingly. 

Clear manual indents

Clear the changes that were manually made to the task structure. 

The structure that was based on the structure builders is not affected. 

Trello Structure builders

When you connect external tools, you will see an additional section with Structure builders specific to that tool. In 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 - tasks 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:

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 reorganized (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 overridden - 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 the 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. An 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 reorganize your task structure entirely after it was already built, follow the steps:

  1. switch of all structure builders,
  2. select the "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 table 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