Du ser en gammel version af denne side. Se den nuværende version.

Sammenlign med nuværende Vis sidehistorik

Version 1 Næste »

This sample disables a user - by setting the JIRA Context to a user with higher Level:

import com.atlassian.crowd.embedded.api.User
import com.atlassian.crowd.embedded.impl.ImmutableUser
import com.atlassian.jira.bc.user.UserService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.util.UserManager
import com.onresolve.scriptrunner.runner.util.UserMessageUtil
import com.atlassian.crowd.embedded.api.UserWithAttributes
import com.atlassian.crowd.embedded.api.CrowdService
import com.atlassian.jira.user.ApplicationUsers

CrowdService crowdService = ComponentAccessor.crowdService
UserManager userManager = ComponentAccessor.getUserManager()
UserService userService = ComponentAccessor.getComponent(UserService.class)

String adminUsername = "automation"

def jiraAuthenticationContext = ComponentAccessor.jiraAuthenticationContext
def adminUser = ComponentAccessor.userManager.getUserByKey(adminUsername)
def originalUser = jiraAuthenticationContext.loggedInUser
try {
  //Swicth User
   jiraAuthenticationContext.setLoggedInUser(adminUser)
}
finally {
// jiraAuthenticationContext.setLoggedInUser(originalUser)
}

if (jiraAuthenticationContext.getLoggedInUser() == ComponentAccessor.userManager.getUserByKey(adminUsername))
{
  UserService.UpdateUserValidationResult updateUserValidationResult
  UserWithAttributes user = crowdService.getUserWithAttributes(issue.getReporter().getName())
  updateUser = ApplicationUsers.from(ImmutableUser.newUser(user).active(false).toUser())
  updateUserValidationResult = userService.validateUpdateUser(updateUser)
  if (updateUserValidationResult.isValid())
  {
     userService.updateUser(updateUserValidationResult)
     UserMessageUtil.success("The Reporter has been disabled in the User Database")
  }
  else
  {
     UserMessageUtil.error("The Reporter could not be disabled in the User Database")
  }
}
else
{
  UserMessageUtil.error("Elevation of rights failed. Contact Administrator")
}
  • Ingen etiketter