Hi all,
After upgrading jira from 5.2.9 to 6.1.5, some groovy scripts does not work. In the log records, there is a cast exception as "Cannot cast object 'my user object' with class 'com.atlassian.jira.user.DelegatingApplicationUser' to class 'com.atlassian.crowd.embedded.api.User'
Is there any suggestions?
You can use the ApplicationUsers class to convert between User and ApplicationUser.
Details about the changes: https://developer.atlassian.com/display/JIRADEV/Renamable+Users+in+JIRA+6.0
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you Henning, now it is clear. I get values from custom fields which contain users and use "User" object for return values. However, according to the document you shared above it says:
If you read values from CustomFields
containing Users. In older versions CustomFields
used to return User
object, in 6.0 JIRA returns ApplicationUser
. As in 6.0 these types are totally incompatible, you will probably get an exception:
java.lang.ClassCastException: com.atlassian.jira.user.DelegatingApplicationUser cannot be cast to com.atlassian.crowd.embedded.api.User
So, I add "import com.atlassian.jira.user.ApplicationUsers" line in script code and use toDirectoryUser(ApplicationUser user)
method to convert ApplicationUser to User.
Am I right?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, if the following method needs an ApplicationUser.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, I need to convert ApplicationUser to User object so I use toDirectoryUsers method of ApplicationUsers class which accepts an ApplicationUser object.
My ex-code:
Collection<User> users = (Collection) issue.getCustomFieldValue(releatedPeopleCf)//relatedPeopleCf is a multi user picker cf
New code:
Collection<User> users = (Collection) ApplicationUsers.toDirectoryUsers(issue.getCustomFieldValue(relatedPeopleCf))
This is the correct usage, isnt it?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Looks good to me :-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.