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 Join to answer
Community showcase
Maarten Cautreels
Posted Thursday in Off-topic

Friday Fun: What's your favourite beer/drink

As a Belgian, beer-lover and home brewer, beer is one of my great passions. I love the fact that with just a few ingredients (usually just water, hop and malt) you can create so many different tastes...

276 views 38 9
Join discussion

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
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot