In this page

What is Structure?

(supported since Better Excel Exporter 5.2.0)

Structure helps project portfolio managers visualize, track and manage projects with an adaptable, user-defined, spreadsheet-like issue hierarchy.

Structure integration features

  • You can export Excel spreadsheets directly from the Structure screen.
  • Supported structure item types: folder, memo, issue, and all generators (also known as automation items).
  • Dynamic structures are supported via generators. Generators are automatically executed before exporting. Then, the resulted issues are exported, the generators themselves are not.
  • You can export structures to hierarchical Excel spreadsheets using the structure.xlsx template:
    • Excel rows are grouped to reflect the structure's hierarchy. (Grouping works up to 8 levels, the maximum depth supported by Excel.)
    • Columns are automatically detected from the current structure view. (If you make changes to the columns, don't forget to save those before exporting again.)
    • Supported columns: Issue Key, Summary, Icons, and all field columns (except the aggregation feature, like "sum" for spent time). Unsupported columns are silently skipped.
    • The Summary column displays the left-indented structure index next to the summary, like "1.2.1 My favorite folder", to represent the depth of the items.
    • The Issue Type column displays "Folder" or "Memo" for the folder and memo items.
    • The Description column displays the memo description for memo items.
    • The Icons column, which can display multiple icons (e.g. for the priority and for the assignee), is exported to separate columns in Excel spreadsheet.
  • You can export the unique issue items plus their comments from structures to Excel spreadsheets, using the issue-navigator-with-comments.xlsx template.
  • You can export the unique issue items plus their worklogs from structures to Excel spreadsheets, using the issue-navigator-with-worklogs.xlsx template.
  • You can export the unique issue items plus their change history from structures to Excel spreadsheets, using the issue-navigator-with-history.xlsx template.
  • You can export structures to Created vs. Resolved reports, by exporting the unique issue items with the created-vs-resolved-report.xlsx template.
  • You can export structures to workflow reports (average and total time in status, SLA, etc.), by exporting the unique issue items with the workflow-report.xlsx template.
  • You can export structures to worklog reports (average and total time per project, user, etc.), by exporting the unique issue items with the worklog-report.xlsx template.
  • You can easily integrate structures and the hierarchy to any other default template and any custom template, using the structure-tool.groovy script.

(Need more features? Tell us in a support ticket!)

Structure integration vs. the Structure built-in Excel exports

You may want to ask: if Structure has a built-in Excel export feature, why would you use another app for the same?

While the Structure built-in Excel exports may be sufficient for basic use cases, the Better Excel Exporter integration is more powerful in, at least, these:

If any of these are important for you, give it a try.

Tutorial video

Generate native Excel reports from the Jira data you manage in Structure, right from the Structure UI:

Export samples

Requirements specification

Structure is a great tool to manage technical requirements for any engineering project, while Better Excel Exporter is great to share those with external parties for reviewing, auditing and analyzing purposes. This example features hierarchical requirements identified by a sequential index (e.g. 1.2.1), collapsible/expandable hierarchy levels, folders for grouping, memos for additional text fragments, plus dependencies and other types of requirement links for the traceability of the items.


Portfolio report (program report)

This multi-level activity list gives a centralized overview to the status of the whole project portfolio. It breaks down agile programs to initiatives, to epics, to stories, to tasks and even to sub-tasks. Better Excel Exporter automatically uses the columns you configured for the Structure view, therefore you can add, remove and re-order columns to the final report effortlessly.


Dynamic task list

Structure's automation features are fully supported by Better Excel Exporter! The dynamic structure exported to this Excel file is an issue set, automatically grouped by sprint (1st level), grouped by assignee (2nd level), and sorted by story points. Note that after the so-called generator items are automatically executed, the resulted issues will be exported.



Exporting structures

There is nothing to do. Better Excel Exporter will add the Excel views enabled for the "Structure" context to the Export menu of the Structure screen. Therefore, you can export the current structure to Excel with one click.

For configuring automation actions to email, save, and attach structures as Excel spreadsheets, see the automation guide.

Limiting the exported Structure items

By default, only the first 1000 items are exported from a structure, in order to avoid unexpected load and memory consumption during the Excel export. The limit can be configured in the structure-tool.groovy script:

 * Upper limit for the items to export.
static def MAX_ITEMS = 1000

Note that the limit applies to all types of items, not to issues only! For example, if the first 1000 items contain 5 folders and the template exports only the issue-type items, then 995 issues will be exported. The final count can be even lower, if there are duplicated issues among those 995 and the template exports unique issues.

Exporting structures from custom Excel templates

Any template that iterates over the issues collection can be easily modified to support structures.

For that, execute structure-tool.groovy script in the top part of your template (before iterating over $issues),

<mt:execute script="structure-tool.groovy"
   test="${(xlsViewContext == 'STRUCTURE') || (automationRuleId && title.contains('structureId'))}"/>

Then change the main iteration like this:

| <jt:forEach items="${issues = (structure == null) ? issues : structure.getUniqueIssues()}" var="issue"> | ... | </jt:forEach> |

What it basically does is that it checks if you are manually exporting from the Structure screen or if you are exporting in an automation action. If so, then it executes the Groovy script which collects the structure items. If those are found, then $issues is overwritten with the structure items. (Note the assignment syntax in the expression at the the "items" attribute: not only the result is passed to "items", it also overwrites $issues!)

There is one important detail to be aware of! Structure allows the same issue appearing multiple times within the same structure. Using structure.getUniqueIssues() will remove the duplicated issues, only keeping the first occurrence of each. It absolutely makes sense in most templates (e.g. in Created vs. Resolved reports).

If, for some reason, you want to keep duplicates, use structure.getIssues() instead. If you do so, make sure that the template doesn't break when exporting duplicated issues!

Automating Structure exports

In many situations, you want to export the structures automatically (without manual actions) and email, save the exported Excel spreadsheets, or attach those to Jira issues. It is possible to start automations either in regular intervals (ex: every weekday morning 8:00AM) or when some event happens (ex: a new critical-priority bug is created).

Better Excel Exporter offers powerful automation for any type of Excel exports, also including the exports related to Structure data. Automation rules are explained in details in the Excel automation tutorial.

Follow the guides in that article with one important distinction: when you configure the automation action, encode the structure ID and the structure view ID in the action's Title field. Steps:

  1. Open the structure you want to export (automatically).
  2. Select the structure view you want to use in the export.
  3. Open the Export dropdown.
  4. Click the Structure (Excel) menu item.
  5. Check the URL in the browser's address bar. You will find a fragment like this: structureId=3&structureViewId=7.
  6. Write this JSON string to the Title field of the automation action, using the two numbers you found in the URL:
    {"structureId":3, "structureViewId":7}
  7. Save the automation action's configuration.

Doing so, the automation action will export the structure identified by structureId using the view identified by structureViewId.

Note that the structureViewId parameter is used only by the issue-navigator-with-comments.xlsx, issue-navigator-with-history.xlsx, issue-navigator-with-worklogs.xlsx and structure.xlsx templates, to export those columns that are visible in the given Structure view. Other templates are not working with the concept of the view and its columns, unless customized so.

Learn more about Structure