How to bulk disable/inactive users in jira on csv file using scriptrunner

Alvin
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.
March 14, 2019

 Hi Community,

Good day! Just want to ask if how can I bulk disable/inactive users in JIRA  on csv file using scriptrunner? Currently I'm using this code to disable single user but I do want to do this on bulk and get users from csv file instead of hardcode.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.bc.JiraServiceContextImpl
import com.atlassian.crowd.embedded.impl.ImmutableUser
import com.atlassian.jira.user.DelegatingApplicationUser
import com.atlassian.jira.bc.user.search.UserSearchService
import com.atlassian.jira.bc.user.UserService
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
def jiraServiceContext = new JiraServiceContextImpl(currentUser)
def userSearchService = ComponentAccessor.getComponent(UserSearchService.class)
def userService = ComponentAccessor.getComponent(UserService.class)
def userlist = ['alvin_sample', 'alvin_cust']
for (item in userlist) {
def appUser = userSearchService.getUserByName(jiraServiceContext, 'test')
def errors = ''
if (appUser != null) {

ImmutableUser.Builder builder = ImmutableUser.newUser(appUser.getDirectoryUser());
builder.active(false)
//builder.displayName('New display name')
//builder.emailAddress('newemail@somewhere.com')
def updateUser = new DelegatingApplicationUser(appUser.getId(), appUser.getKey(), builder.toUser());

def updateUserValidationResult = userService.validateUpdateUser(updateUser)
if (updateUserValidationResult.isValid()) {
userService.updateUser(updateUserValidationResult)
} else {
errors += "Update of ${appUser.name} failed: ${updateUserValidationResult.getErrorCollection().getErrors().entrySet().join(',')}\n"
}
}

 

Any help is appreciated. thank you!

0 answers

Suggest an answer

Log in or Sign up to answer