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?
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.
You can futher create your custom fields and modify the code to get your own results.
Hope this helps.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.