Hello,
I'm having trouble with scriptrunner adding users to a group while listening for am AutoUserCreatedEvent. Here is my code:
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.ComponentAccessor
def userManager = ComponentAccessor.getUserManager()
def groupManager = ComponentAccessor.getGroupManager()
def userDirectory = event.user.getDirectoryId()
log.warn(userDirectory)
log.warn(event.user)
def user = event.user
log.warn(user)
if (userDirectory==1) {
def group = groupManager.getGroup("CustomersExternal")
log.warn(group)
groupManager.addUserToGroup(user,group)
}
and here is the result:
2018-08-14 09:54:04,813 WARN [runner.ScriptRunnerImpl]: 1 2018-08-14 09:54:04,813 WARN [runner.ScriptRunnerImpl]: com.atlassian.crowd.model.user.ImmutableUser@2d8fe0 2018-08-14 09:54:04,815 WARN [runner.ScriptRunnerImpl]: com.atlassian.crowd.model.user.ImmutableUser@2d8fe0 2018-08-14 09:54:04,816 WARN [runner.ScriptRunnerImpl]: com.atlassian.crowd.embedded.impl.ImmutableGroup@6604bb20 2018-08-14 09:54:04,821 ERROR [runner.AbstractScriptListener]: ************************************************************************************* 2018-08-14 09:54:04,822 ERROR [runner.AbstractScriptListener]: Script function failed on event: com.atlassian.crowd.event.user.UserCreatedEvent, file: <inline script> groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.security.groups.RequestCachingGroupManager.addUserToGroup() is applicable for argument types: (com.atlassian.crowd.model.user.ImmutableUser, com.atlassian.crowd.embedded.impl.ImmutableGroup) values: [com.atlassian.crowd.model.user.ImmutableUser@2d8fe0, com.atlassian.crowd.embedded.impl.ImmutableGroup@6604bb20] Possible solutions: addUserToGroup(com.atlassian.jira.user.ApplicationUser, com.atlassian.crowd.embedded.api.Group) at Script93.run(Script93.groovy:21)
Hello,
Try like this:
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUsers
def userManager = ComponentAccessor.getUserManager()
def groupManager = ComponentAccessor.getGroupManager()
def userDirectory = event.user.getDirectoryId()
log.warn(userDirectory)
log.warn(event.user)
def user = event.user
log.warn(user)
if (userDirectory==1) {
def group = groupManager.getGroup("CustomersExternal")
log.warn(group)
groupManager.addUserToGroup(ApplicationUsers.from(user),group)
}
That worked! Strangely, the script window was giving me an error but when it ran through the listener, no problems.
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.
You are welcome!
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.