Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Scriptrunner Adding User to Group

Anthony Delgado August 14, 2018

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)

 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 14, 2018

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)
}

Anthony Delgado August 14, 2018

That worked!  Strangely, the script window was giving me an error but when it ran through the listener, no problems.

Thank you very much!

Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 14, 2018

You are welcome!

TAGS
AUG Leaders

Atlassian Community Events