I am using scriptrunner postfunction and validator to perform 3 transitions back to back. The problem is that I receive an error message saying
[comment:Please, add a comment.] although a comment has actually been adde as you can see in the screenshot
Here is the code I have used, anyone knows how to fix this?
package CombineTransitionsimport com.onresolve.scriptrunner.runner.util.UserMessageUtilimport com.atlassian.jira.issue.Issue;import org.apache.log4j.Loggerimport com.atlassian.jira.bc.issue.IssueServiceimport com.atlassian.jira.issue.Issue;import CombineTransitions.Configuration_CombineTransitionsimport com.atlassian.jira.bc.issue.IssueService.IssueResultimport com.atlassian.jira.bc.issue.IssueService.TransitionValidationResultimport com.atlassian.jira.event.type.EventDispatchOptionimport java.util.concurrent.TimeUnitimport java.util.concurrent.ScheduledExecutorServiceimport java.util.concurrent.Executorsimport com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.issue.MutableIssueimport com.atlassian.jira.workflow.WorkflowTransitionUtilimport com.opensymphony.workflow.WorkflowContext;import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl;import com.atlassian.jira.util.JiraUtils;import com.atlassian.jira.issue.MutableIssue;import com.atlassian.jira.util.ErrorCollectionimport com.atlassian.jira.workflow.WorkflowExceptionimport com.atlassian.jira.issue.fields.CustomFieldimport com.onresolve.jira.groovy.user.FormFieldimport com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.component.ComponentAccessorimport com.opensymphony.workflow.InvalidInputExceptionimport com.atlassian.jira.component.ComponentAccessor;import com.atlassian.jira.issue.MutableIssue;import com.atlassian.jira.issue.fields.screen.FieldScreenRenderLayoutItem;import com.atlassian.jira.issue.fields.screen.FieldScreenRenderTab;import com.atlassian.jira.issue.fields.screen.FieldScreenRenderer;def log1 = Logger.getLogger("atlassian-jira.log")def combineTransitionsHashMap= Configuration_CombineTransitions.getCombineTransitionsHashMap()def issueStatusTypeId = combineTransitionsHashMap["issueStatusTypeId"] as String;def transitionFromOpentoFixed = combineTransitionsHashMap["transitionFromOpentoFixed"] as Integer;def transitionFromFixedToTested = combineTransitionsHashMap["transitionFromFixedToTested"] as Integer;def transitionFromTestedToCompleted = combineTransitionsHashMap["transitionFromTestedToCompleted"] as Integer;def fixedStatusName = combineTransitionsHashMap["fixedStatusName"] as String;def testedStatusName = combineTransitionsHashMap["testedStatusName"] as String;def completedStatusName = combineTransitionsHashMap["completedStatusName"] as String;def fixedStatusId = combineTransitionsHashMap["fixedStatusId"] as String;def testedStatusId = combineTransitionsHashMap["testedStatusId"] as String;def completedStatusId = combineTransitionsHashMap["completedStatusId"] as String;def errorMessage = combineTransitionsHashMap["errorMessage"] as String;if (issue.getStatus().getSimpleStatus().getId().equals(issueStatusTypeId)) { def ok = false ok=performTransition(transitionFromOpentoFixed, fixedStatusName, fixedStatusId, errorMessage); log.warn("MOUNA first boolean "+ok +" "+fixedStatusName) if(ok){ ok= performTransition(transitionFromFixedToTested, testedStatusName, testedStatusId, errorMessage); log.warn("MOUNA second boolean "+ok +" "+testedStatusName) if(ok){ ok= performTransition(transitionFromTestedToCompleted, completedStatusName, completedStatusId, errorMessage); log.warn("MOUNA third boolean "+ok +" "+completedStatusName) } } }def performTransition(int transitionToBeDone, String destinationStatus, String statusId , String errorMessage) { log.warn("MOUNA ORIGINAL STATUS "+ issue.getStatus() +"DEST STATUS "+ destinationStatus)//issue = ComponentAccessor.getIssueManager().getIssueObject(issue.id)issue = transientVars.get("issue"); def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() String issueKey = issue.getKey() IssueService issueService = ComponentAccessor.getIssueService() def issueInputParameters = issueService.newIssueInputParameters() issueInputParameters.setComment("Transitioning issue from status "+ issue.getStatus().getName()+" to status "+ destinationStatus );WorkflowTransitionUtil workflowTransitionUtil = (WorkflowTransitionUtil) JiraUtils.loadComponent(WorkflowTransitionUtilImpl.class)workflowTransitionUtil.setIssue(issue)workflowTransitionUtil.setAction(transitionToBeDone)//workflowTransitionUtil.addAdditionalInput(transientVars.get("comment"))log.warn("MOUNA "+transientVars)ErrorCollection errorCollection=workflowTransitionUtil.validate()if (errorCollection.hasAnyErrors()) { log.warn("MOUNA here 1 "+errorCollection.getErrorMessages().toString()) throw new InvalidInputException(errorCollection.getErrors().toString())return false; }else{ ErrorCollection progressErrorCollection=workflowTransitionUtil.progress() if(progressErrorCollection.hasAnyErrors()){ log.warn("MOUNA here 2 "+progressErrorCollection.getErrors().toString()) throw new InvalidInputException(progressErrorCollection.getErrors().toString()) return true; }else{ return true; }}}//@SuppressWarnings("rawtypes") // Map getPopulatedFieldValuesHolder(WorkflowTransitionUtil workflowTransitionUtil, MutableIssue issue) throws Exception{ // Map fieldValuesHolder = new HashMap(); // FieldScreenRenderer fieldScreenRenderer = workflowTransitionUtil.getFieldScreenRenderer(); // for (FieldScreenRenderTab fieldScreenRenderTab in fieldScreenRenderer.getFieldScreenRenderTabs()) // for (FieldScreenRenderLayoutItem fieldScreenRenderLayoutItem in fieldScreenRenderTab.getFieldScreenRenderLayoutItems()) // if (fieldScreenRenderLayoutItem.isShow(issue)) { // fieldScreenRenderLayoutItem.populateFromIssue(fieldValuesHolder, issue); // log.warn("fieldScreenRenderLayoutItem MOUNA "+fieldScreenRenderLayoutItem.getFieldScreenLayoutItem().getFieldScreenTab().getFieldScreen().getName()) // } // return fieldValuesHolder; // }// String getError(String error){// return error; // }