Gantt chart

On this page:

Issue Epic Gantt chart

This example will show how to create Gantt charts with Jira data.

The main attribute of any Gantt chart is Start and End date. You would like to use some measure representing date for your Gant chart; any first two date columns will be drawn in the Gantt. You could use date properties. For example, Issues, Sprints, and Fix versions have date properties you can use on the Gantt chart as the Start date and End date.

For the Issue Gantt chart visible below, the Issue created date and Epic End date measures are used as the Start date and End date. 

This report uses the Issue epic hierarchy representing open epics and issues in open epics. The measures from issues within the Epic are summed up on the Epic level, e.g., the Hours spent show all hours logged on issues within the Epic.

The report uses the calculated measure "Issue epic link status" as a filter. This measure represents the status of an epic for the epic itself and any sub-level issues.

CASE 
  WHEN 
    [Measures].[Issue type] = 'Epic'
  THEN
    [Status].[Status].GetMemberNameByKey(
      [Issue].CurrentHierarchyMember.get('Status ID'))
  WHEN 
    [Issue type].[Issue type].getMemberByKey(
      [Issue].CurrentHierarchyMember.get('Issue type ID'))
    .getboolean('Subtask')
  THEN 
    [Status].[Status].GetMemberNameByKey(
      [Issue].[Issue].GetMemberByKey(
        [Issue].[Issue].GetMemberByKey(
          [Issue].CurrentHierarchyMember.get('Parent issue key'))
        .get("Epic Link"))
      .get('Status ID'))
  ELSE 
    [Status].[Status].getMemberNameByKey(
      [Issue].[Issue].GetmemberByKey(
        [Issue].CurrentHierarchyMember.get('Epic Link'))
      .get('Status ID'))
END


Progress of a task can be visualized with colors:

  • blue - upcoming tasks and completed tasks without completion ratio;
  • green - completed tasks with completion ratio (%);
  • red - overdue tasks with completion ratio (%);
  • grey - a group of tasks.

To get the progress of issues, there is a custom measure Issue resolved % defined with formula

CASE WHEN
  [Measures].[Issues created] > 0
THEN
  CoalesceEmpty([Measures].[Issues resolved],0)
  /
  [Measures].[Issues created]
END

Define the formatting of the measure to Integer percentage %, the % part of the line will be colored accordingly.

Issue created date is an example of what can be used to specify a Start date. If they are defined in Jira, various custom date fields can be used as a Start date. For example, the Planned issue start date could already be defined as the Issue property. As well the last date issue should be started to have it finished on Due date could be calculated with a formula where Original estimated hours are divided by 8 to get the number of working days that is subtracted from Issue due date.

DateAddWorkdays([Measures].[Issue due date], 
  - [Measures].[Original estimated hours] / 8
)


Sprint Gantt chart

A similar report can be created to show Sprint's progress. You can design below visible Gantt chart if you are using Jira Agile Sprint and Story Points custom fields.

This chart uses Sprint custom dimension on rows and Sprint Start and End date measures on columns.

The following formula is used to calculate Story points completed % for each sprint.

CASE WHEN 
  [Measures].[Story Points created] > 0 
THEN
	([Measures].[Story Points created] 
	- [Measures].[Story Points due])
  / [Measures].[Story Points created]
END