I'm new to scriptrunner but I'm trying to populate the Assignee with a name entered into a text box in a cascading field.
I found the script below on this site, but it's not working:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.customfields.impl.CascadingSelectCFType
import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.issue.fields.CustomField
Issue issue = ComponentAccessor.getIssueManager().getIssueObject("Rig Manager");
CustomField customField = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Cascade");
Map<String, Option> params = (HashMap<String,Option>) issue.getCustomFieldValue(customField)
if (params != null) {
Option parent = params.get(CascadingSelectCFType.PARENT_KEY)
Option child = params.get(CascadingSelectCFType.CHILD_KEY)
}
Hi @Rebecca Allen,
I'm answering this by using some of the code I wrote before and also there some joining multiple scripts - hence, it is not tested and might need some tweaking:
import
com.atlassian.jira.component.ComponentAccessor
import
com.atlassian.jira.issue.MutableIssue
import
com.atlassian.jira.issue.customfields.option.Option
import
com.atlassian.jira.issue.customfields.impl.CascadingSelectCFType
import
org.apache.log4j.Level
import
org.apache.log4j.Logger
String parentValue, childValue
def
optionsManager = ComponentAccessor.getOptionsManager()
def
issueManager = ComponentAccessor.getIssueManager()
def
customFieldManager = ComponentAccessor.getCustomFieldManager()
def
cField = customFieldManager.getCustomFieldObject(
"customfield_<ID>"
)
def
cFieldValue = issue.getCustomFieldValue(cField)
HashMap<String, Option> hashMapEntries = (HashMap<String, Option>) cFieldValue
if
(hashMapEntries !=
null
) {
Option parent = hashMapEntries.
get
(CascadingSelectCFType.PARENT_KEY)
Option child = hashMapEntries.
get
(CascadingSelectCFType.CHILD_KEY)
parentValue = parent.toString()
childValue = child.toString()
}
def user = ComponentAccessor.userManager.getUserByName(childValue)
issue.setAssignee(user)
I hope that this helps.
Thanks,
Moga
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.