Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.
×Hi,
I am basically trying to execute a transition as if it was execute by a user different from the one currently logged in.
Considering the following:
"userA" modifies a field which via a listener executes the following automatic transition:
def UserManager userManager = ComponentAccessor.getUserManager() ApplicationUser user = userManager.getUserByName("jira") IssueService.TransitionValidationResult transitionValidationResult = issueService.validateTransition( user,issue.id, actionId,new IssueInputParametersImpl([:]) ) //if(true) if(! transitionValidationResult.errorCollection.hasAnyErrors()) { log.debug("Transition Successful") issueService.transition(user,transitionValidationResult) return true } else { log.debug("Transition Error: ${transitionValidationResult.errorCollection.toString()}") return false }
Please note that he transition is called using the user "jira" rather than the currenty logged in user ("userA")
Now, in the condition of the transition corresponding to "actionid" I would like to be able to know which was the user used as parameter of validateTransition(). Referring to my example, this would give as a result the user "jira".
If I use either
((WorkflowContext) transientVars.get("context")).getCaller();
or
ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
I get as result the user "userA" not "jira"
Thanks.
You can use
ComponentAccessor.getJiraAuthenticationContext().setLoggedInUser(user)
before issueService.validateTransition(...)
Hi!
May I know did you find a solution for your question?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Niclas Sandström [Riada] I have expanded the question. Hope now it is clear.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I don't really follow here could you explain a bit more?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.