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

Field value calculation based on another field

Parsa Mounika December 5, 2022

Hi Team,

We have 5 single select field(Strategic Importance,Customer Impact,Stakeholder Buy-In,Time to Implement,Resource Requirement) which are having numeri values in all the fields and when we select any one of those values from the 5 fields in the 6th text field(Total Project Rating) value should populate based on the below query. Can some one help me on this.

formula - 

Total Project Rating = (Strategic Importance * 0.25) + (Customer Impact * 0.25) + (Stakeholder Buy-In * 0.25) + (Time to Implement * 0.15) + (Resource Requirement * 0.10) 

2 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 6, 2022

Using the scriptrunner script editor, create a file with a name like "totalProjectRatingCalculationBehaviour.groovy"

Add the following to the file:

import com.atlassian.jira.issue.customfields.option.Option
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript

@BaseScript FieldBehaviours fieldBehaviours

def strategicImportanceFld = getFieldByName('Strategic Importance')
def customerImpactFld = getFieldByName('Customer Impact')
def stakeholderBuyInFld = getFieldByName('Stakeholder Buy-In')
def timeToImplementFld = getFieldByName('Time to Implement')
def resourceRequirementFld = getFieldByName('Resource Requirement')
def totalProjectRatingFld = getFieldByName('Total Project Rating')

def strategicImportanceValue = (strategicImportanceFld.value as Option).value as Integer
def customerImpactValue = (customerImpactFld.value as Option).value as Integer
def stakeholderBuyInValue = (stakeholderBuyInFld.value as Option).value as Integer
def timeToImplementValue = (timeToImplementFld.value as Option).value as Integer
def resourceRequirementValue = (resourceRequirementFld.value as Option).value as Integer

def totalProjectRatingValue = strategicImportanceValue * 0.25 +
customerImpactValue * 0.25 +
stakeholderBuyInValue * 0.25 +
timeToImplementValue * 0.15 +
resourceRequirementValue * 0.1

totalProjectRatingFld.setReadOnly(true).setFormValue(totalProjectRatingValue)

From scriptrunner behaviour, create a new behaviour configuration that maps to the correct projects/issue type.

Add each of your 5 source fields to the behaviour configuration. For each field, add a server-side script and then change the script from in-line to file. Point to the file you created above.

Save the behaviour.

Now, each time you modify any of your five fields, the Total Project Rating field will automatically update with a fresh calculation.

Parsa Mounika December 14, 2022

Hi @Peter-Dave Sheehan , the script is not working. I tried it in listeners and behavior also but still not working.

Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
December 14, 2022

This is a behaviour script. I can only work in a behaviour configuration like I described.

Can you please include screenshots of your behaviour configuration?

Also can you verify that the field names in the script are spelled 100% correctly?

Are you finding any errors in the <jira-home>/log/atlassian-jira.log when you try to create issues?

0 votes
Marta Woźniak-Semeniuk
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.
December 6, 2022
Parsa Mounika December 6, 2022

Hi @Marta Woźniak-Semeniuk those are not related to my requirement.

TAGS
AUG Leaders

Atlassian Community Events