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!
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.