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