Adding column information to planning boards

Recently while visiting a customer, we were presented with an interesting use case from some of their internal teams using JIRA for software development.

In an attempt to better handle the work that is coming through their pipeline, they wanted an easy way to show the sum of the Original Estimates of JIRA issues in each column (for instance “To Do”, “In Progress”, etc.). The teams wanted to see this information on their planning boards, so that while they are moving issues around they could easily see how this affected the overall scope of work in each stage of their development lifecycle.

In the image below you can see the total estimate is in parentheses to the right of the column name.

sample

 

Unfortunately, JIRA Software only allows two options here - the "issue count" and "issue count excluding subtasks". Nor is there any plugin point that would allow us to do this.

When you need to do things for which no plugin extension point exists, you need to reach for your javascript skills, which usually goes hand-in-hand with adding a REST API or two.

We used ScriptRunner to quickly prototype the backend, which is simple enough. Given a board and a sprint ID, run JQL queries for that board with the statuses for each column, and sum up the results.

The javascript needs to hook into JIRA Software's mechanism for updating the board data, and then simply calls the REST endpoint and gets the results for that board and sprint. 

While this might be a bit more advanced than your average ScriptRunner script, it’s well within reach for even the novice to ScriptRunner. 

You can look at the code for the backend REST API, or the frontend javascript for a deeper dive into how this script works.

If you don't fancy plugging that in to ScriptRunner yourself, you can drop in a pre-built plugin which you can download and install via the plugin manager.

You can find the full source code here.

I hope this helps you get started!

 

1 comment

We implemented a board that spans multiple projects and the plugin fails with the following error:

2018-03-09 16:03:50,164 http-nio-8080-exec-1007 ERROR i847810 963x12607004x1 2f1rfe 10.44.10.9 /rest/scriptrunner/latest/custom/getColumnHeaders [c.o.s.r.rest.common.UserCustomScriptEndpoint] Script endpoint failed on method: GET getColumnHeaders
java.lang.IllegalArgumentException: clauseValues is empty
 at com.atlassian.jira.util.dbc.Assertions.not(Assertions.java:162)
 at com.atlassian.jira.jql.builder.DefaultJqlClauseBuilder.addStringCondition(DefaultJqlClauseBuilder.java:767)
 at com.atlassian.jira.jql.builder.DefaultConditionBuilder.in(DefaultConditionBuilder.java:311)
 at com.fg.jirasoftware.plugins.columns.SumBoardColumns$_run_closure1$_closure2.doCall(SumBoardColumns.groovy:71)
 at com.fg.jirasoftware.plugins.columns.SumBoardColumns$_run_closure1.doCall(SumBoardColumns.groovy:66)
 at com.onresolve.scriptrunner.runner.rest.common.UserCustomScriptEndpoint.doEndpoint(UserCustomScriptEndpoint.groovy:304)
 at com.onresolve.scriptrunner.runner.rest.common.UserCustomScriptEndpoint.getUserEndpoint(UserCustomScriptEndpoint.groovy:195)

Comment

Log in or Sign up to comment
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 Monday in Agile

Marketplace Technical Collection Pages

You might have noticed something new on Marketplace in the last several months which was the addition of our new collection pages. We heard feedback that it can be hard to browse apps in Marketplace ...

52 views 0 3
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