Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

Load multi-user custom field from Project Role values

I have tried it all!  I have scoured the interwebs to no avail.  I have a project role consisting of multiple users and I need to load those users into a multi-user custom field. The most straightforward way it seems is from a Jira Group instead of project roles, I am good with either.  This is the code I have found for the group into custom field.



import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder

def groupManager = ComponentAccessor.getGroupManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()

def myJiraGroup = groupManager.getGroup("Jira Group name") // get the group
def usersInGroup = groupManager.getUsersInGroup(myJiraGroup) // get the users in that group
def myCustomField = customFieldManager.getCustomFieldObjectsByName("Custom multi-user field")
myCustomField.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(myCustomField), usersInGroup), new DefaultIssueChangeHolder()) // update myCustomField with users


It throws an error "No signature of method:" but the details get cut off before I can read what parameter is hosed.



1 answer

1 accepted

1 vote
Answer accepted

Your issue might be just with the "def myCustomField" line.

If you look carefully, you will see that you are calling "getCustomFieldObjectsByName", the plural on "Objects" means that you can potentially get more than one custom field with this method. Even when you only have 1 custom field that matches that name, you will still get a collection or array of custom fields and you have to identify which item in the collection is the custom field you care about.

If you are 100% sure that you only have 1 custom field with that name, you can just get item 0 from the collection.

def myCustomField = customFieldManager.getCustomFieldObjectsByName("Custom multi-user field")[0] it possible to be so happy and so mad at the same time?  Because those 3 characters "[0]" just made me into a WINNER!  Next time you are in KC I owe you a beverage.  Thank you sir.  Consider your answer...ACCEPTED!  

Like Peter-Dave Sheehan likes this

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Apps & Integrations

📅 Partner Webinar & Events Opportunities: July 2022

Hi community 👋, Here is another monthly roundup of the partner-organized events in July 2022. If there is any event missing please let me know in the comments below 🙏 If you're looking for Atla...

29 views 0 2
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you