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
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Thursday in Marketplace Apps

Tips on how to choose the best estimation method for your planning

Planning and grooming sessions all come with their own sets of rules. Team members meet to estimate stories or other work items, all according to an agreed-upon process. And with every session comes ...

71 views 0 11
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