Groovy Post Script to Assign a User based on a Customfield.

Matthew Noel February 21, 2013

I'm trying to write a simple groovy script, to a assign user based on a custom field option. So far this is my code, but with the logical expression it does not process.

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 == "CustomField"}

cfwt = issue.getCustomFieldValue(sccField)


if (cfwt == "CustomFieldValue001"){
			issue.setAssignee(ComponentManager.instance.userUtil.getUserObject('vend001'))
			}
			
else if (cfwt == "CustomFieldValue002"){
			issue.setAssignee(ComponentManager.instance.userUtil.getUserObject('vend002'))
			}
else if (cfwt == "CustomFieldValue003"){
			issue.setAssignee(ComponentManager.instance.userUtil.getUserObject('vend003'))
			}

4 answers

1 vote
Jeremy Cejka August 29, 2013

I assume your example for "CustomField" and "CustomFieldValueBlah" is the "<customfield_id>" and <"customfieldid>-x"?

0 votes
Derek Sheeman April 23, 2015

I have been trying to make this work as a post function of the create transition but doesn't seem to do anything, I'm wondering what I'm doing wrong as I am extremely new to groovy code. 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 == "Responsible Team"} cfwt = issue.getCustomFieldValue(srcField) if (cfwt == "Analytics"){ issue.setAssignee(ComponentManager.instance.userUtil.getUserObject('john_smith')) }

0 votes
Kishore J August 7, 2013

Hi,

I am new to JIRA can you please tell me where to write the above scripts? I need to get the assignee based on the custom value

Benjamin Horst
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.
August 7, 2013

This is the plugin for it:

https://marketplace.atlassian.com/plugins/com.onresolve.jira.groovy.groovyrunner

But don't expect really quick results. The documentation of the API and the tool is not the part that recieved the most attention. But when you get to know the Script Runner, you'll love it.

0 votes
Matthew Noel February 21, 2013

I figured it out. The above works

Dan Flint
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.
August 12, 2013

Hi,

I want to do something very simular to the above - how did you get this to work?

Thanks in advance

Dan

Vijay Sv June 4, 2015

Hi, I am doing something similar to this for a cascading field, can please help me out with the workaround. Thanks, Vijay

Suggest an answer

Log in or Sign up to answer