I made a field autoAssignee; just regular text field which populates a value based on some values. This is working fine, except when in status "New". The field takes the value for the next status, which screws up my proces.
When a ticket is in status new, I always get the value of status "Assess 1st Line".
e.g.: status = new
productC
customerA
assignee should be productC.support
but it shows consultant.customerA
anyone has an idea?
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.issue.Issue
import com.atlassian.crowd.embedded.api.User
def searchProvider = ComponentAccessor.getComponent(SearchProvider)
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def userUtil = ComponentAccessor.getUserUtil()
def productCF = customFieldManager.getCustomFieldObject("customfield_13901")
def customerCF = customFieldManager.getCustomFieldObject("customfield_13102")
def product = issue.getCustomFieldValue(productCF)
def customer= issue.getCustomFieldValue(customerCF)
def status = issue.getStatus().getSimpleStatus().getName()
def project = issue.getProjectObject().getKey()
def type = issue.getIssueType().getName()
def assignee =""
if(product =="ProductA"){
assignee ="ProductD.support"
} else if(product =="ProductB"){
assignee ="ProductB.support"
} else if(project == "BX" && product == "ProductB" && (status == "New" || "Assess 1st Line" || "Assess 2nd Line")){
assignee = "ProductB.support"
} else if(project == "AX" && product =="ProductC"){
assignee ="ProductC.support"
} else if(project == "BX" && product =="ProductC" && customer == "CustomerA" && (status == "Assess 1st Line" || "Assess 2nd Line")){
assignee ="ProductC.CustomerA"
} else if(project == "BX" && product =="ProductC" && customer == "CustomerA" && (status == "New")){
assignee ="ProductC.support"
} else if(project == "BX" && product =="ProductC" && customer != "CustomerA"){
assignee ="ProductC.support"
} else if(project == "AX" && product == "ProductD"){
assignee = "ProductD.support"
} else if(project == "BX" && product == ("ProductD" || "ProductD Client Connect") && (status != "Assess 1st Line")){
assignee = "ProductD.support"
} else if(project == "AX" && product == "ProductD Client Connect"){
assignee ="ProductD.support"
} else if(project == "BX" && type == "Bug" && (product == "ProductD" || "ProductD Client Connect") && status == "Assess 2nd Line"){
assignee = "rd.ProductD"
} else if(project == "BX" && type == "Request for Enhancement" && (product == "ProductD" || "ProductD Client Connect") && (status == "Assess 2nd Line")){
assignee = "ProductD Changemanagement"
} else if(project == "BX" && (product == "ProductD" || "ProductD Client Connect") && (status == "Assess 1st Line" || "Assess 3rd Line") && customer == "CustomerC"){
assignee = "consultant.CustomerC"
} else if(project == "BX" && (product == "ProductD" || "ProductD Client Connect") && (status == "Assess 1st Line" || "Assess 3rd Line") && customer == "CustomerA"){
assignee = "consultant.CustomerA"
} else if(project == "BX" && (product == "ProductD" || "ProductD Client Connect") && (status == "Assess 1st Line" || "Assess 3rd Line") && customer == "CustomerB"){
assignee = "consultant.CustomerB"
} else if(product =="Other"){
assignee ="ProductD.support"
}
return assignee;
If you edit the issue (not transition, just edit), does the field change to the desired value?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
No, it doesn't.
If I change one of the values, like the product, the fields changes, but to consultant.productX
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.