I'm trying to move issue from "Resolved" to "Close" automaticly. I'm using the following code:
public static void issueTransition(Issue issue) {
IssueService issueService = ComponentManager.getInstance().getIssueService();
IssueService.IssueResult transResult;
int actionId = 21;
User user = ComponentManager.getInstance().getUserUtil().getUser("john.d");
IssueInputParameters issueInputParameters = issueService.newIssueInputParameters();
issueInputParameters.setAssigneeId(user.getName());
issueInputParameters.setSkipScreenCheck(true);
JiraWorkflow workFlow = ComponentAccessor.getWorkflowManager().getWorkflow(issue);
Status status = issue.getStatusObject();
com.opensymphony.workflow.loader.StepDescriptor currentStep = workFlow.getLinkedStep(status);
List<ActionDescriptor> actions = currentStep.getActions();
for (ActionDescriptor actionDescriptor : actions) {
if (actionDescriptor.getName().equals("Close")) {
actionId = actionDescriptor.getId();
log.debug(" actionID close "+ actionId);
}
}
TransitionValidationResult transitionValidationResult = issueService.validateTransition(user,issue.getId(), actionId,issueInputParameters );
if (transitionValidationResult.isValid()) {
IssueResult transitionResult = issueService.transition(user, transitionValidationResult);
if (!transitionResult.isValid()) {
// Do something
log.debug(" !transitionResult.isValid() ");
}
}else
log.debug(" transitionValidationResult FAILED ");
}
The TransitionValidationResult keep returning false.
I get the following message:
[It seems that you have tried to perform a workflow operation (Close) that is not valid for the current state of this issue (TS-10). The likely cause is that somebody has changed the issue recently, please look at the issue history for details.]
There is no changes in history.. What do i missing?
This line fixed it...:
ComponentManager.getInstance().getJiraAuthenticationContext().setLoggedInUser(user);
Thanx anyway:)
Where did you deploy it? How to use the script. Can you guide .
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Which simple means that the issue that you are attempting to transition does not have a Close transition. It is in some other state.
Since you have a hard-coded value of 21 for actionId, you always attempt to perform this.
And I also guess you are not getting this log printed out "log.debug(" actionID close "+ actionId);" as there are not transitions which are matching 'Close'
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.