Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

issueResult transitionResult = issueService.transition not changing the status of my issue

Mouna Hammoudi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 22, 2022

I am writing code to make 3 transitions back to back, from open to fixed, then from fixed to tested and then from tested to completed as shown in the diagram below: 

 

Capture.PNG

 

 

The problem is that the line     IssueResult transitionResult = issueService.transition(currentUser, transitionValidationResult) is not changing the status. The status of my issue is still open even though it should be fixed at some point. How can I fix this problem?  How can I enforce the status change? I need to change the status of my issue, is there a solution? 




package
CombineTransitions

import com.atlassian.jira.issue.Issue;

import org.apache.log4j.Logger

import com.atlassian.jira.bc.issue.IssueService

import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.issue.Issue;

import CombineTransitions.Configuration_CombineTransitions

import com.atlassian.jira.bc.issue.IssueService.IssueResult

import com.atlassian.jira.bc.issue.IssueService.TransitionValidationResult

import com.atlassian.jira.event.type.EventDispatchOption

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;

if (issue.getStatus().getSimpleStatus().getId().equals(issueStatusTypeId)) {

        def ok = false

         ok=performTransition(transitionFromOpentoFixed, fixedStatusName, fixedStatusId);

         log.warn("MOUNA first boolean "+ok +" "+fixedStatusName)

   if(ok){

         ok= performTransition(transitionFromFixedToTested, testedStatusName, testedStatusId);

         log.warn("MOUNA second boolean "+ok +" "+testedStatusName)

         if(ok){

          ok= performTransition(transitionFromTestedToCompleted, completedStatusName, completedStatusId);

          log.warn("MOUNA third boolean "+ok +" "+completedStatusName)

         }

 

  }

   

   

}

def  performTransition(int transitionToBeDone, String destinationStatus, String statusId ) {

  log.warn("MOUNA  ORIGINAL STATUS "+ issue.getStatus()  + "DEST STATUS "+ destinationStatus)

 

  issue = ComponentAccessor.getIssueManager().getIssueObject(issue.id)

  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 );

  TransitionValidationResult transitionValidationResult = issueService.validateTransition(currentUser, issue.id, transitionToBeDone, issueInputParameters)

  log.warn("MOUNA transitionValidationResult: "+transitionValidationResult + " actionID "+transitionValidationResult.getActionId()+"   transitionValidationResult.getAdditionInputs()   "+transitionValidationResult.getAdditionInputs()+" transitionValidationResult.getFieldValuesHolder().toString() "+

  transitionValidationResult.getFieldValuesHolder().toString()  )

 

  if (transitionValidationResult.isValid()) {

    IssueResult transitionResult = issueService.transition(currentUser, transitionValidationResult)

    log.warn("MOUNA NEW STATUS "+ transitionResult.getIssue().getStatus().getName()  +"  MOUNA  STATUS NEW "+issue.getStatus().getSimpleStatus().getName())

    return true

   

}else{

      log.warn("MOUNA 2 getErrorCollection() "+transitionValidationResult.hasWarnings())

    log.warn("MOUNA 2 getErrorCollection() "+transitionValidationResult.getErrorCollection().getErrorMessages().toString() +"  "+ issue.getStatus().getSimpleStatus().getName())

    log.warn("MOUNA 3 getWarningCollection() "+transitionValidationResult.getWarningCollection().getWarnings().toString() )

    return false

}

}

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

0 votes
Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 3, 2023