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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.