You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
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.