Original Estimates vs. Actual

Is there a way in JIRA (at the project level), create a view, report, graph…anything that will show me “Original Estimates vs. Actual” story points delivered?

Our Jira version is 4.4.5.

1 answer

This code will help you to develop reports,graphs of Orignal estimates.

private String getOriginalEstimateString(Issue issue)
     long estimate = -1;
     if (issue != null)
            if (issue.getEstimate() != null && issue.getOriginalEstimate() != null)
                estimate = Math.min(issue.getOriginalEstimate().longValue(), issue.getEstimate().longValue());
            if (estimate != -1)
                return DateUtils.getDurationString(estimate, getHoursPerDay(), getDaysPerWeek());
        return null;

private int getHoursPerDay()
     return Integer.parseInt(ComponentAccessor.getApplicationProperties().getDefaultBackedString(APKeys.JIRA_TIMETRACKING_HOURS_PER_DAY));
private int getDaysPerWeek()
       return Integer.parseInt(ComponentAccessor.getApplicationProperties().getDefaultBackedString(APKeys.JIRA_TIMETRACKING_DAYS_PER_WEEK));

This is a great code. Where do I put this snippet of code at? I'm fairly new to JIRA and unsure where to put this code snippet. Thanks. Steven

Hi Steven,

It depends which plugin module are you implementing, I use this code in report generation.


rendered in *.vm

FYI another useful method I used for report generation to calculateTime and diffs, might helpful

public static long compareTwoTimeStamps(java.sql.Timestamp currentTime, java.sql.Timestamp oldTime)


	     long milliseconds1 = oldTime.getTime();

	     long milliseconds2 = currentTime.getTime();

	     long diff = milliseconds2 - milliseconds1;

		 long diffSeconds = diff / 1000;

		 return diffSeconds;


	public static String calculateTime(long seconds) 


		 int day = (int) TimeUnit.SECONDS.toDays(seconds);

		    long hours = TimeUnit.SECONDS.toHours(seconds) -TimeUnit.DAYS.toHours(day);

		    long minutes = TimeUnit.SECONDS.toMinutes(seconds) -TimeUnit.HOURS.toMinutes(TimeUnit.SECONDS.toHours(seconds));

		    long second = TimeUnit.SECONDS.toSeconds(seconds) -TimeUnit.MINUTES.toSeconds(TimeUnit.SECONDS.toMinutes(seconds));

		    if(day==0 && hours==0 && minutes==0)

			       return second+" sec";

		    if(day==0 && hours==0)

			       return + minutes + " min "+second+" sec";


			       return hours+" hrs "+minutes+" min "+second+" sec";

		    return day+" day "+hours + " hrs " + minutes + " min "+second+" sec";


Suggest an answer

Log in or Sign up to answer
Community showcase

Scrum Roles Explained: the Do's and the Don'ts

Hello Community,  Today we are going to talk about the three Scrum Roles. There is the Development Team, the Scrum Master and the Product Owner. In my opinion these three are all really impo...

97 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you