Project Manager
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:
Issue Fields - For each issue field in your Jira, Structure offers a column that displays that field's value.
Progress - Display an aggregate issue progress, which is calculated based on values from the issue and its sub-issues.
Totals - Display aggregate values for issue progress, which include progress values from sub-issues.
Service Management - Jira Service Management customers can visualize and manage SLA fields within a structure.
Work Logged - View and manage Timesheets by Tempo work logged data alongside your project data.
Many more - To learn more about the available columns, see Adding Columns.
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.
Looking to visualize your structure data as a chart or other report? Our integration with Custom Charts for Jira makes it easy to build customizable charts from your structure data. Learn more
Create a structure to organize and track Objectives and Key Results across all your Jira projects.
https://www.loom.com/share/2213e5910bf34d358b4f284a39be086c
Step 1: Build an OKR Project in Jira
We recommend adding 2 issue types to your project:
Objectives - the Parent items
Key Results - the Child items
Step 2: Add Objectives to the Structure
Create a new structure using Power mode
In the new structure, go to + Add | Insert | Basic Insert
Configure the following:
Project: <Select your OKR project>
Issue Type: Objective
Click Create
Step 3: Add Key Results
Go to + Add | Extend | Child Issues
Configure the following:
Check the Issues under epics box
Check the Moving an item in the structure will change its parent issue in Jira box
Extend levels: 1 to 5
Click Create
Step 4: Add Epics
Go to + Add | Extend | Linked Items
Configure the following:
Link type: Add the link type you use to connect your epics to key results (we used Implements, but you may prefer another link, such as Relates to, etc.)
Check the Moving items in the structure will update links box
Extend levels: 2 to 2
You don’t have to use Epics for these - add whatever type of issue your team uses to track key results (tasks, stories, etc.).
Once you add your epics, you should see any child stories/tasks automatically added beneath them - this is because of the Extend Child Issues generator we added in Step 3.
Step 5: Link Epics to Key Results
If you’ve already linked epics to key results in Jira, you should see those in the hierarchy. If not, or if you want to add more, here’s an easy way to link epics to key results:
Create a structure that contains the epics you want to link to your key results (or use one you already have!)
Select Split in the Structure toolbar to open a second structure panel
In the left panel, open the OKR structure
In the right panel, open the structure with your epics
Drag epics from the right panel under the appropriate Key Result in the left panel - this will automatically add links between your key results and epics (if it doesn’t, open your Extend Linked Items generator and make sure the Moving items in the structure will update links box is checked)
If an epic affects more than one key result, you can place it under as many key results as necessary and have its data reflected for all of them!
Step 6: 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:
Issue Fields - For each issue field in your Jira, Structure offers a column that displays that field's value.
Progress - Display an aggregate issue progress, which is calculated based on values from the issue and its sub-issues.
Totals - Display aggregate values for issue progress, which include progress values from sub-issues.
Service Management - Jira Service Management customers can visualize and manage SLA fields within a structure.
Work Logged - View and manage Timesheets by Tempo work logged data alongside your project data.
Many more - To learn more about the available columns, see Adding Columns.
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.
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 Flex items
Open the +Add menu and select Flex item. Add two Flex items, named:
"Agile Hierarchy"
"Issues without Epics"

Step 3: Insert Epics
Select the Agile Hierarchy Flex item, so that its row is highlighted, and add a JQL Query Insert Generator:
Go to +Add | Insert | JQL Query
Enter the following JQL query:
issuetype = Epic
To limit the epics to specific projects or other variables, add additional specifications (Example:
AND project = "My Epics"
)
Change the Place the generators on selection to Level below - this will add the epics under the Agile Hierarchy Flex item
Click Create
All your epics should now be placed beneath the Agile Hierarchy Flex item.

If the epics did not appear beneath the Agile Hierarchy Flex item, your generator was probably placed at the top of the structure, instead of beneath the Flex item. Select the "Insert issues: issuetype = Epic" row and drag it to beneath the Agile Hierarchy Flex item (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 | Child issues. Under Add, select Issues below epics 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 Flex item is for:
Select the "Issues without Epics" Flex item
Go to: +Add | Insert | JQL Query
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
Change the Place the generators on selection to Level below - this will add our issues under the Flex item
Click Create
Any issues that are not assigned to epics should now appear beneath the second Flex item.

If no issues appear under the Issues without Epics Flex item, make sure the Insert Generator is located in the right location - if not, drag the generator to beneath the Issues without Epics Flex item (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 Flex item to epics, or even reassign issues that already have epics.
Assigning Issues to Epics
To assign issues in the second Flex item 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 Flex item (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.
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:
Open the Structure Selector menu and select Create New Structure
Add the issues you want to track – you can add them manually or automatically using +Add | Insert | Basic Insert
Group issues by fix version: +Add | Group | Field | select "Fix Version/s"

Want to include epics and stories?
When inserting issues, add epics: +Add | Insert | Basic Insert | open the Issue Types dropdown and select Epic
Add your stories: +Add | Insert | Child Issues | under Add, select Issues under epics and (optional) Sub-tasks.
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:
Issue Fields - For each issue field in your Jira, Structure offers a column that displays that field's value.
Progress - Display an aggregate issue progress, which is calculated based on values from the issue and its sub-issues.
Totals - Display aggregate values for issue progress, which include progress values from sub-issues.
Service Management - Jira Service Management customers can visualize and manage SLA fields within a structure.
Work Logged - View and manage Timesheets by Tempo work logged data alongside your project data.
Many more - To learn more about the available columns, see Adding Columns.
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.
Looking to manage resources for your next project? Planner makes it easy to plan resources and capacity for your team.
Tempo's Strategic Portfolio Management solution is a modular approach to help organizations focus their priorities, people, and spend across their portfolio of products and services.
Plan and manage your work in Structure.
Convert your plans into boardroom-ready roadmaps in Strategic Roadmaps.
Monitor the financial health of your portfolio using Financial Manager and Structure.
Manage resources and resource allocation with Capacity Planner and Gantt Charts for Structure.
Build custom reports to monitor your portfolio with Custom Charts.
The following products are part of Tempo's Strategic Portfolio Management solution. Pick the ones that are right for your teams, or try them all - you can download free trials using the links below.
Strategic Portfolio Management with Tempo Apps
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
Create a new, blank structure and add 2 flex items: "Original Link Type" and "New Link Type".
Manually add your parent initiative to both flex items. Note: this should be the same initiative for both.

Step 2: Add Epics
Highlight the Original Link Type flex item and add a Linked Issue generator: +Add | Extend | Linked Items | select the inconsistent link type
Highlight the New Link Type flex item 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 flex item, and drag them to the second flex item, 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 flex item
Remove links - include an empty flex item (no Extend generator) and drag your linked issues to the empty flex item - the original link will be removed without adding a new link
Use Structure to identify:
Overdue tasks
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:
Open the Structure Selector menu and select Create New Structure
Automatically build an Epic > Story > Sub-task hierarchy: +Add | Preset | Agile Hierarchy
To create a new structure using Insert, Extend, and Group generators:
Open the Structure Selector menu and select Create New Structure
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
Add stories and sub-tasks: +Add | Insert | Child Issues | under Add, select Issues under epics and Sub-tasks.

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, go to Formula, and select Formula.

Give the column an appropriate name and enter the following into the Formula section: IFdue_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:
In place of the formula we created in step 1, enter the following:
IF(type = "Story" and status != "Done" and due_date < today(); 1)
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.