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!

 

2 comments

Krishnanand Nayak
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 9, 2018

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)
ezadin mahmoud October 30, 2018

Hallo Jamie,

I am trying to create a button in Jira to open certain group of tickets in tabs.

I have an issue with CumulativeListHitCollector. I get this error and unfortunately I didn’t find any API or others documentation about thatCan you tell me how solve this issue?

 Thank you for you help

 Ezadin Mahmoud

error_CumulativeListHitCollector.png

 

TAGS
AUG Leaders

Atlassian Community Events