I am using Atlassian JIRA Software in most of my projects. But I am always using hand drawn burndown charts like this one:

But why? There are several options for burndown charts available within JIRA Software! Yes that’s true, but:

  • Personally I don’t like booking times on tickets. For me it is a waste of time if developers have to think about if it were 2hours or 2,5hours! So a time based burndown is not helping me.
  • Next there is this Story Point burndown chart. Also a great idea but in real-life, where most of the stories are closed at the end of a Sprint, that also won’t help me much.
  • Ok fine. Then lets go with this issue count option. Also a great idea but there is one constraint: it is only counting parent issues – not the Sub-task. Me and my team are heavily using Sub-tasks and they should definitely be included in my burndown.

How to get a Sub-task based burndown chart?

Keep in mind: it is working for us, but before using it in production you should definitely invest some time to test and make it stably running in your own environment!

  1. You need to have the Script Runner Plugin installed within your JIRA Software instance. That plugin is charged after a 30 days trial!
  2. Create a custom number field available for all projects where you want to use this kind of Sub-task burndown. I named it “Burndown Counter”.
  3. Set your JIRA Software Board to use that custom field for estimation.
  4. Add the following content to a file burndowncounter.groovy and put it into your JIRA_HOME/scripts directory

    1. Change line 16 to match the username to your desired user. The script will make the modifications with that username!
    2. Change line 19 to match your JIRA Software project(s).
    3. Change line 47 to match the name of your custom field if it is not “Burndown Counter”.
  5. Add a Service in JIRA to execute this script. Navigate to System -> Services.
    1. Name: Burndown Counter
    2. Class: com.onresolve.jira.groovy.GroovyService
    3. Schedule: Advanced
    4. Expression: 0 0/5 * * * ? *
      1. That will execute the script every 5 minutes. Just change it to your needs.
    5. Click Add
    6. admin.service.jelly.input: burndowncounter.groovy
      1. Use the filename you have chosen in step 4.
    7. Click Update

What is it doing and how does it work?

The script will be executed every 5 minutes and modify the value of the custom field “Burndown Counter” for every issue within the current sprints of your given projects. If it is a Sub-task it will get a 0. If it is a parent task that has no Sub-tasks it will get a 1. If it is a parent task that has Sub-Tasks it will get a number telling how many open Sub-tasks it has.

Based on these values you will have a burndown based on the issue count including your Sub-tasks.

Let me know if that helped you, if there are better ways or if it is not working as expected.

-Dirk

Leave a Comment

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close