Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

ScriptRunner: Get list of Users by a wildcard search

kiran kumar August 2, 2019

Hello all,

We got several spam accounts in our internal directory with same full name. We need to bulk delete all of them.

Is there a way we could get list of Users using full name and deleting them using a loop in ScriptRunner?

1 answer

1 accepted

3 votes
Answer accepted
Yury Lubanets
Contributor
August 2, 2019

Hello @kiran kumar 

Try the following

import com.atlassian.jira.bc.user.UserService
import com.atlassian.jira.bc.user.search.UserSearchService
import com.atlassian.jira.component.ComponentAccessor

def userServise = ComponentAccessor.getComponent(UserService)
def userSearchServise = ComponentAccessor.getComponent(UserSearchService)

def adminUser = ComponentAccessor.userManager.getUserByName('AdminUserName')

def users = userSearchServise.findUsersByFullName('FullName')
users.each {
def result = userServise.validateDeleteUser(adminUser, it)

if (result.valid) userServise.removeUser(adminUser, result)
}
kiran kumar August 2, 2019

Thanks a lot, Yuri! 

Just one correction, getUserByName did not work, so I have used getUserByKey.

Suggest an answer

Log in or Sign up to answer