Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

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

Alex Kulichkov 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 Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
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 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 June 27, 2022

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

TAGS
AUG Leaders

Atlassian Community Events