Quantcast
Channel: Active questions tagged atlassian-plugin-sdk - Stack Overflow
Viewing all articles
Browse latest Browse all 282

Receiving error when performing transition although it works fine - validator postfunction

$
0
0

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 enter image description here

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; // }  

Viewing all articles
Browse latest Browse all 282

Trending Articles