I am trying to create a scripted field which will populate with a list of users full names from a multi user picker field ("Award Nominees" customfied_21775)
I have tried the following script:
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.fields.CustomField import com.atlassian.jira.user.ApplicationUser CustomField multiuserCstFld = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Award Nominees") if (multiuserCstFld == null) return "custom field not found" StringBuilder result = new StringBuilder(); for(ApplicationUser user: (ArrayList) multiuserCstFld.getValue(issue)) result.append(user.getName() + "/") return result.toString().substring(0, result.toString().length() - 1)
but I get the following syntax error:
[Static type checking] - Cannot loop with element of type com.atlassian.jira.user.ApplicationUser with collection of type java.util.ArrayList
I'm at a loss as to what is wrong. I am on JIRA version 7.1.9 and using scriptrunner version 4.3.13
Any help would be greatly appreciated. Thank you!
If you want their full names, you'll want to use the getDisplayName method.
import com.atlassian.jira.component.ComponentAccessor def awardNomineesField = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Award Nominees") if (!awardNomineesField) { return null } issue.getCustomFieldValue(awardNomineesField)?.collect{ it.displayName }?.join(" / ")
You are correct. I did need to change getname to getDisplayName to show the full name. Thank you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Try this code
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.fields.CustomField import com.atlassian.jira.user.ApplicationUser CustomField multiuserCstFld = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Award Nominees") if (multiuserCstFld == null) return "custom field not found" StringBuilder result = new StringBuilder(); for(ApplicationUser user: (ArrayList<ApplicationUser>) multiuserCstFld.getValue(issue)) result.append(user.getName() + "/") return result.toString().substring(0, result.toString().length() - 1)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
That was it. I was missing the <ApplicationUser> after the ArrayList. No more error! Thank you very much!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Validate your expertise in managing Jira Service Projects for Cloud. Master configuration, optimize workflows, and manage users seamlessly. Earn global 🗺️ recognition and advance your career as a trusted Jira Service management expert.
Get Certified! ✍️Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.