Display field according to the result of two other fields

Hi Team, I'm using script runner to get multiplication result of two fields in another fields (Riskrate)and to categorize the result in Riskrate to High,medium,low. For the same I have created the beklow script. But not completely functional. Please help 

def selecta= getFieldById("customfield_17796")
def selectb= getFieldById("customfield_23399")
def risk= getFieldById("customfield_28038")
def TestBed = getFieldById("customfield_26609")
long selectaVal = ((selecta.value ?: "0") as String).toLong()
long selectbVal = ((selectb.value ?: "0") as String).toLong()

risk.setFormValue(selectaVal * selectbVal)
long selectaValnew = ((selecta.value ?: "0") as String).toLong()
long selectbValnew = ((selectb.value ?: "0") as String).toLong()
long RiskrateVal = ((risk.value ?: "0") as String).toLong()

if(RiskrateVal <= 9)
if(RiskrateVal > 5)

{ TestBed.setFormValue("Medium") }


{ TestBed.setFormValue("Low") }


{ TestBed.setFormValue("High") }


7 answers


What type are the custom fields customfield_28038, customfield_26609 ? I suppose the customfield_17796 and customfield_23399 are select lists (single choice) .


yes, these are select lists

and what about customfield_28038, customfield_26609 ?

customfield_17796 and customfield_23399 are select list and customfield_28038 is number field and customfield_26609 is a text field

Any update???



Try adding the following code to a scripted field named "Risk Rate":


import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue

Issue mainIssue = issue
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def impact = customFieldManager.getCustomFieldObjectByName("Impact")
def probability = customFieldManager.getCustomFieldObjectByName("Probability")
def impactVal = mainIssue.getCustomFieldValue(impact).toString().toInteger()
def probabilityVal = mainIssue.getCustomFieldValue(probability).toString().toInteger()
def overallRating = (impactVal * probabilityVal)
def result = ""

switch (overallRating) {
case { overallRating < 5}:
result = 'Low'
case {overallRating >= 5 && overallRating <= 9}:
result = 'Medium'
case {overallRating > 9}:
result = 'High'
result = 'N/A'

return result;

You will have to change the names to match your field names and the case values to your preference. I have made the assumption here that the custom fields are text fields, so I casted them to string then to int. You will not need to do this is the field values are already numbers.

Also, if you would like both a risk rate numerical field and a text field then you will need to add a second scripted field and just return the 'overallRating' value instead of using the switch statement.

Take a look at this for more info on scripted fields: https://scriptrunner.adaptavist.com/latest/jira/scripted-fields.html



Did this solve your problem?


Johnson Howard

Suggest an answer

Log in or Join to answer
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

3,199 views 13 19
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot