Hi.
I have spent many hours trying to implement a groovy script post function. It seems the way to go.
I have probably been thru all of the threads on this topic, but I cannot successfully set the assignee.
I would very much appreciate if someone would look at the code and tell me where I am going wrong.
I need to set an assignee based on a custom field value.
The custom field is a Select List (single choice)
We are running JIRA 6.3.8.
The logic to implement is fairly simple:
If custom field Procurement Dept = HR, then set the assignee to username PaulM.
If custom field Procurement Dept = QA, then set the assignee to username JohnL.
I have tried this with hard coded username values - but i would also like to know how to do it taking the username value from custom fields (HR Owner, QA Owner) that would have been given a value at custom field configuration.
Copying the code here:
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.util.IssueChangeHolder
ComponentManager componentManager = ComponentManager.getInstance()
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
IssueManager issueManager = componentManager.getIssueManager()
CustomField srcField = customFieldManager.getCustomFieldObjects(issue).find {it.name == 'Procurement Dept'}
cfwt = issue.getCustomFieldValue(srcField)
if (cfwt == "HR"){issue.setAssignee(ComponentManager.instance.userUtil.getUser('paulm'))}
else if (cfwt == "QA"){issue.setAssignee(ComponentManager.instance.userUtil.getUser('johnl'))}
Thanks in advance!