Calculated Checklists in Jira.

Thad Vessar August 28, 2017

I am looking for a plugin/solution to calculate checklist values.    The checklist items need to have numberic values assigned so that they could be summed up and provide a score.  The score would need to be  queried.

 

Are there any solutions that would allow for this function in Jira?

 

1 answer

1 vote
Tayyab Bashir
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.
August 30, 2017

Hi, 
I have implemented this solution with Script Runner's scripted fields.
If you do have this plugin then you can simple create a scripted field, and put this code in it. 

The following gets all the selected fields in multiselect and returns the sum of all the values in a field. You can futher query the resulted field in JQL. 

{code}

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.fields.CustomField

def issueManager = ComponentAccessor.getIssueManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()

def issueObject = issueManager.getIssueObject("Issue-Key")

// provide id here.
def customFieldObject = customFieldManager.getCustomFieldObject(customfieldId)

//issueObject.getCustomFieldValue(customFieldObject)
def customFieldObjects = customFieldManager.getCustomFieldObjects(issueObject)
def totalValue = 0;
if (customFieldObjects.contains(customFieldObject))
{
def cf = customFieldObjects.indexOf(customFieldObject)
def customField = customFieldObjects.get(cf)
def allValues = customField.getValue(issueObject)
def size = allValues.size()

for(int i =0; i <size; i++){
def temp =0
def intValue = Integer.parseInt(allValues[i].toString())
temp = temp + intValue
totalValue += temp;
}
}
return totalValue


{code}

 

For e.g. I had 20 and 30 selected, so it returned 50 in the TML field. 

Capture.PNGYou can futher create your custom fields and modify the code to get your own results.

Hope this helps.

Suggest an answer

Log in or Sign up to answer