Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to calculate % based on 2 custom field values (Scriptrunner)

Alex Kulichkov
Contributor
August 6, 2021

Hello, 

 

We have a requirement to have a scripted field automatically calculate % value in real time, based on Actual and Target number fields.

We have scriptrunner installed, so we have to use that tool.

If anyone has a sample Groovy code for that it will be greatly appreciated!

Use Case: 

1. CF [1] - Target number
2. CF [2] - Actual number

3. Scripted field = CF[2]/CF[1] - always displayed and updates in real time if CF[1][2] chnaged.

 

Thanks

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
4 votes
Answer accepted
Hana Kučerová
Community Champion
August 6, 2021

Hi @Alex Kulichkov ,

please try something like this (just replace the constants with your custom field ids):

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

Long CUSTOM_FIELD_ID_1 = 10359L
Long CUSTOM_FIELD_ID_2 = 10400L

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()

CustomField customField1 = customFieldManager.getCustomFieldObject(CUSTOM_FIELD_ID_1)
CustomField customField2 = customFieldManager.getCustomFieldObject(CUSTOM_FIELD_ID_2)

Float number1 = issue.getCustomFieldValue(customField1) as Float
Float number2 = issue.getCustomFieldValue(customField2) as Float

return (number1 && number2) ? number2 / number1 * 100 : 0
Alex Kulichkov
Contributor
August 9, 2021

Hi @Hana Kučerová,

 

Thank you very much, it worked perfectly! Great script example for all simple % based calculations.

Like Hana Kučerová likes this
Zdeněk
Contributor
June 27, 2022

@Hana Kučerová Thank you so much for this. It helped a lot! 

TAGS
AUG Leaders

Atlassian Community Events