Forums

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

Behaviour Plugin: Setting Priority based on value in a Scripted Field

jypark August 22, 2019

Hi,

I want to update the 'Issue Priority' value based on 'Important' and 'Urgent'.

I am looking at the Behaviours Plugin. Below is the script attached to the 'Issue Priority' field.

import com.atlassian.jira.component.ComponentAccessor

def PriFld = getFieldByName("Issue Priority")
def ImpFld = getFieldByName("Important")
def UrgFld = getFieldByName("Urgent")

def optionsManager = ComponentAccessor.getOptionsManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()

def PricustomField = customFieldManager.getCustomFieldObject(PriFld.getFieldId())
def ImpcustomField = customFieldManager.getCustomFieldObject(ImpFld.getFieldId())
def UrgcustomField = customFieldManager.getCustomFieldObject(UrgFld.getFieldId())

def Priconfig = PricustomField.getRelevantConfig(getIssueContext())
def Prioptions = optionsManager.getOptions(Priconfig)
def PrioptionToSelectA = Prioptions.find { it.value == "1" }
def PrioptionToSelectB = Prioptions.find { it.value == "2" }
def PrioptionToSelectC = Prioptions.find { it.value == "3" }
def PrioptionToSelectD = Prioptions.find { it.value == "4" }

def Impconfig = ImpcustomField.getRelevantConfig(getIssueContext())
def Impoptions = optionsManager.getOptions(Impconfig)
def ImpoptionToSelectA = Impoptions.find { it.value == "O" }
def ImpoptionToSelectB = Impoptions.find { it.value == "X" }

def Urgconfig = UrgcustomField.getRelevantConfig(getIssueContext())
def Urgoptions = optionsManager.getOptions(Urgconfig)
def UrgoptionToSelectA = Urgoptions.find { it.value == "O" }
def UrgoptionToSelectB = Urgoptions.find { it.value == "X" }

if (ImpoptionToSelectA.optionId && UrgoptionToSelectA.optionId) {
PriFld.setFormValue(PrioptionToSelectA.optionId)
}
else if (ImpoptionToSelectA.optionId && UrgoptionToSelectB.optionId) {
PriFld.setFormValue(PrioptionToSelectB.optionId)
}
else if (ImpoptionToSelectB.optionId && UrgoptionToSelectA.optionId) {
PriFld.setFormValue(PrioptionToSelectC.optionId)
}
else if (ImpoptionToSelectB.optionId && UrgoptionToSelectB.optionId) {
PriFld.setFormValue(PrioptionToSelectD.optionId)
}

 This is not working. Any ideas on how to get this working?

 

Thank you.

0 answers

Suggest an answer

Log in or Sign up to answer