Custom Reports

With Structure, you can easily create a visual overview of your projects – and visualize all the data you need to track on a single screen.

Step 1: Build Your Structure

To create a new structure:

  • Open the Structure Selector menu and select Create New Structure
  • Use the +Add menu to add issues and build your hierarchy:
    • Use Presets to use one of Structure's preconfigured hierarchies
    • Or configuring your own hierarchy using +Add | Insert | Basic Insert, +Add | Group, and +Add | Extend

Step 2: Add Data

Next, add the data you need to track by clicking the button at the top-right corner of the structure. You can add as many columns as you need, including:
  • Jira fields, such as status, assignee, sprint, or remaining estimate
  • Progress - track status based on issue progress, percent completion, or resolution
  • Formulas - create your own formulas to compare fields or create a visual report
  • Tempo Work Logged - track how long your team is spending on each issue

Once you've added your columns, you can aggregate the data up the structure. To do so, open the column you want to aggregate and select Sum over sub-items.


 Manage Epics and Tasks

With Structure, you can easily organize issues into an advanced Agile hierarchy (Epics > Issues > Sub-tasks) AND identify any issues that aren't attached to epics.

Step 1: Create a New Structure

Open the Structure Selector menu and select Create New Structure.

Step 2: Add Two Folders

Open the +Add menu and select Folder. Add two folders, named:

  • "Agile Hierarchy"
  • "Issues without Epics"

Structure with Folders

Step 3: Insert Epics

Select the Agile Hierarchy folder, so that its row is highlighted, and add a JQL Query Insert Generator:

  1. Go to +Add | Insert | JQL Query
  2. Enter the following JQL queryissuetype = Epic
    • To limit the epics to specific projects or other variables, add additional specifications (Example: AND project = "My Epics")
  3. Change the Place the generators on selection to Level below - this will add the epics under the Agile Hierarchy folder
  4. Click Create

All your epics should now be placed beneath the Agile Hierarchy folder.

Structure with Epics


If the epics did not appear beneath the Agile Hierarchy folder, your generator was probably placed at the top of the structure, instead of beneath the folder. Select the "Insert issues: issuetype = Epic" row and drag it to beneath the Agile Hierarchy folder (see the picture above).

Step 4: Insert Issues and Sub-tasks

Make sure the "Insert issues: issuetype = Epic" row is selected, and return to the +Add menu. This time, select Extend

If you are working with a Team-managed project, you'll add just one Extend generator:

  • Team-Managed Project Hierarchy

If you are working with a Company-managed project, you'll need to add two Extend generators:

  • Issues Under Epics
  • Sub-tasks

Structure with epics, stories, and sub-tasks

Step 5: Insert Issues without Epics

Next, we need to make sure we don't lose track of any issues that aren't linked to epics yet. That's what our second folder is for:

  1. Select  the "Issues without Epics" folder
  2. Go to: +Add | Insert | JQL Query
  3. Enter the following JQL query: issuetype != Epic AND issuetype in standardIssueTypes() AND "Epic Link" is empty
    • If you narrowed your query to specific projects, etc. for your epics, do the same here
  4. Change the Place the generators on selection to Level below - this will add our issues under the folder
  5. Click Create

Any issues that are not assigned to epics should now appear beneath the second folder.

Structure with stories without epics

If no issues appear under the Issues without Epics folder, make sure the Insert Generator is located in the right location - if not, drag the generator to beneath the Issues without Epics folder (see the picture above).

Step 6: Assign Issues to Epics / Reassign Issues

Now that you have all your issues organized and in one place, you can assign issues from the second folder to epics, or even reassign issues that already have epics.

Assigning Issues to Epics

To assign issues in the second folder to an epic:

  • Drag the issues to the epic you want to assigned them to.
  • While dragging, hold down the ctrl key - this copies the issue to the new location in the structure. Once the issue is copied to the new location, it should disappear from beneath the second folder (because now it's assigned to an epic). 

Don't worry: copying an item in Structure does not make a copy in Jira.

Reassigning Issues to New Epics

To reassign issues from one epic to another, simply drag them from beneath their current epic to the new epic.

 Release Management

With Structure, you can track all the issues for upcoming releases – even if they're from different projects – and visualize all the data you need to track on a single screen.

Step 1: Build a Release Management Structure

To create a structure for release management: 

  1. Open the Structure Selector menu and select Create New Structure
  2. Add the issues you want to track – you can add them manually or automatically using +Add | Insert | Basic Insert
  3. Group issues by fix version: +Add | Group | Field | select "Fix Version/s"

Want to include epics and stories?

  1. When inserting issues, add epics: +Add | Insert | Basic Insert | open the Issue Types dropdown and select Epic

  2. Add your stories: 

    • If you are working with a Team-managed project+Add | Extend | Team-Managed Project Hierarchy

    • If you are working with a Company-managed project+Add | Extend | Issues under Epics

Step 2: Add Data

Next, add the data you need to track by clicking the button at the top-right corner of the structure. You can add as many columns as you need, including:
  • Jira fields, such as status, assignee, sprint, or remaining estimate
  • Progress - track status based on issue progress, percent completion, or resolution
  • Formulas - create your own formulas to compare fields or create a visual report
  • Tempo Work Logged - track how long your team is spending on each issue

Once you've added your columns, you can aggregate the data up the structure. To do so, open the column you want to aggregate and select Sum over sub-items.

 Synchronize Links Across Teams or Projects

When you're working across multiple projects and teams, chances are there are some inconsistencies between the link types being used. 

The following guide will show you how to quickly update all your links to a single, consistent link type using Structure.

The examples below demonstrate how to update link types for an initiative, but the same process can be used for other link types as well.

Step 1: Build a Simple Structure

  1. Create a new, blank structure and add 2 folders: "Original Link Type" and "New Link Type". 
  2. Manually add your parent initiative to both folders. Note: this should be the same initiative for both.

Step 2: Add Epics

  1. Highlight the Original Link Type folder and add a Linked Issue generator: +Add | Extend | Linked Items | select the inconsistent link type
  2. Highlight the New Link Type folder and add a Linked Issue generator: +Add | Extend | Linked Items | select the desired link type

Make sure the Moving items in the struture will update links option is checked for both generators.

Step 3: Update Link Types

Select all the issues under the generator added to the first folder, and drag them to the second folder, as children of the same initiative.

Structure will automatically replace all the old links with the new link type.

Need to keep the original links too? When dragging the items, hold down the "ctrl" key (Option key on Mac) to copy the items to the new iniative.

Additional Use Cases

You can also use this same method to:

  • Update other link types - just edit your Extend | Link generators and the original item added to each folder
  • Remove links - include an empty folder (no Extend generator) and drag your linked issues to the empty folder - the original link will be removed without adding a new link

 Track Overdue Tasks

Use Structure to identify:

  1. Overdue tasks
  2. Number of overdue tasks per epic, initiative, or other larger grouping

Step 1: Build Your Structure

In this guide, we're going to show you how to track overdue tasks at the epic level. To track overdue tasks for initiatives or any other large groupings, simply reconfigure the structure hierarchy - this can be done using a Preset or Insert, Extend, and Group generators.

To create a new structure using a Preset:

  1. Open the Structure Selector menu and select Create New Structure
  2. Automatically build an Epic > Story > Sub-task hierarchy: +Add | Preset | Agile Hierarchy

To create a new structure using Insert, Extend, and Group generators:

  1. Open the Structure Selector menu and select Create New Structure
  2. Add epics: +Add | Insert | Basic Insert | open the Issue Type dropdown and select Epic
    • To limit the epics to specific projects, use the Projects dropdown
  3. Add stories and sub-tasks: 

    • If you are working with a Team-managed project: +Add | Extend | Team-Managed Project Hierarchy

    • If you are working with a Company-managed project: +Add | Extend | Issues under Epics and +Add | Extend | Sub-tasks
  4. Click Create


Step 2: Mark Overdue Tasks

Once you have your structure in place, the next step is to identify all the overdue items. To do this, we need to add a formula column. Click the button to the right of the column headers, and select Formula. Give the column an appropriate name and enter the following into the Formula section: IF(due_date < today(); "overdue")

If you used "due_date" in your formula, the variable will automatically be mapped to the Due Date attribute. If you used another name for that variable (for example, “due”), you will need to define the variable by pointing it to the appropriate Due Date attribute.

Variations

This is just one way to mark overdue items. You could also:

  • Create a more visual warning that highlights not only overdue items, but also items coming due. You can read how to do this in Markdown in Formula Columns.
  • Create a formula that relies on another due date.  For example, you may want to flag issues that aren't completed by the due date of their parent epic. In this case, change the formula to: IF(type = "Story" and status != "Done" and parent{due_date} < today(); "overdue")

Step 3: Aggregate Overdue Items for Epics, Initiatives, etc.

In the previous example we were simply returning the string “overdue”, but if we give that "overdue" flag a numeric value ("1"), we can use the Sum over sub-items option to aggregate those values up the hierarchy. To accomplish this:

  1. In place of the formula we created in step 1, enter the following: IF(type = "Story" and status != "Done" and due_date < today(); 1)
  2. Check the Sum over sub-items box

In this example, we limited our scope to only stories that are not yet "Done" - depending on your situation, you may want to adjust this to include other issue types, add additional qualifications, etc.