Adding column information to planning boards Edited

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.



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 /rest/scriptrunner/latest/custom/getColumnHeaders [] Script endpoint failed on method: GET getColumnHeaders
java.lang.IllegalArgumentException: clauseValues is empty
 at com.atlassian.jira.util.dbc.Assertions.not(
 at com.atlassian.jira.jql.builder.DefaultJqlClauseBuilder.addStringCondition(
 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)


Log in or Join to comment
Community showcase
Alexey Matveev
Published Feb 25, 2018 in Agile

Three ways to update an issue in Jira Java Api

...userSearchService = ComponentAccessor.getComponent(UserSearchService.class);    UserSearchParams userSearchParams = (new UserSearchParams.Builder()).allowEmptyQuery(true).includeActive(true...

340 views 4 7
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
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