Forums

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

Derive Priority from "Impact" and "Urgency" custom field using script listener

Lingesh BN April 8, 2020

Hi All,

 

I am using below script in script listener for "Move" event for all the projects, i dont see any errors and priority also is not changing when i move ticket with Impact and urgency, Any help would be really appreciated.

 

import com.onresolve.jira.groovy.user.FieldBehaviours
import com.onresolve.jira.groovy.user.FormField
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.priority.Priority
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.onresolve.jira.groovy.user.FormField
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.issue.IssueEvent
import com.atlassian.jira.event.type.EventDispatchOption

// Get a pointer to my select list fields
//MutableIssue issue;
//MutableIssue mutableIssue = (MutableIssue) issue;
def issue = event.issue as MutableIssue
//def customFieldManager = ComponentAccessor.customFieldManager
def cFManager = ComponentAccessor.getCustomFieldManager()
def constantsManager = ComponentAccessor.getConstantsManager()
def oManager = ComponentAccessor.optionsManager
def iManager = ComponentAccessor.getIssueManager()

def urgencyField = cFManager.getCustomFieldObjectByName("Urgency")
log.info("urgency value: " + urgencyField);
def impactField = cFManager.getCustomFieldObjectByName("Impact")
log.info("impact value: " + impactField);

//def priority = issue.getPriority()
//log.info("priority value: " + priority);
//def TicketPriority = getFieldById("priority")

// Get the Value of the Urgency
String urg = urgencyField.getValue(issue).toString();
log.info("urgency value: " + urg);
// Get the Value of the impact
String imp = impactField.getValue(issue).toString();
log.info("impact value: " + imp);
if((urg == "Extensive") && (imp == "Critical"))
{
def priority = constantsManager.getPriorityObjects().findByName("1-Very High")
log.info("priority value: " + priority);
issue.setPriorityId(priority.id);
}

 

Thanks

Lingesh

 

 

0 answers

Suggest an answer

Log in or Sign up to answer