setting an assignee based on a custom field

yaniv_shoshani December 8, 2014

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!

2 answers

1 vote
Henning Tietgens
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 8, 2014

Try

cfwt = issue.getCustomFieldValue(srcField)?.value

to get the selected text. Currently you get an Option object.

0 votes
Alper AYKUT May 10, 2015

Me to spent many hours trying to implement a groovy script post function.but I cannot successfully set the assignee.

Can you solution this problem Yaniv ? If You can Solution Share Me pls code.Becasue ı have same problem.

 

Suggest an answer

Log in or Sign up to answer