fast track Transition a cloned issue

Sylvain Reissier June 10, 2020

Hi everyone,

I am using a postfunction to create an issue in a different project, and I want to transition it further down its workflow : 

I managed easily to create the issue in the different project thanks to the scriptrunner "Clone" function, but I cannot find how to transition this clone to the status I want.

I assume I can set it up in the code box circled in the image attached.

 

I tried 

import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.issue.IssueInputParameters
import com.atlassian.jira.component.ComponentAccessor

def issueService = ComponentAccessor.getIssueService()

//def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()

IssueService.TransitionValidationResult validationResult = issueService.validateTransition(currentUser, issue.id, 181 as Integer, issueInputParameters)

But nothings happens

 

imgjira.PNG

 

1 answer

0 votes
Subrat Mishra
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.
July 23, 2020
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.workflow.TransitionOptions
import com.atlassian.jira.issue.IssueInputParametersImpl

IssueManager issueManager = ComponentAccessor.issueManager
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
def commentManager = ComponentAccessor.getCommentManager()
def currentUser=ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
IssueService issueService = ComponentAccessor.getIssueService()
def issueInputParameters = issueService.newIssueInputParameters()
def transitionOptions= new TransitionOptions.Builder()
.skipConditions()
.skipPermissions()
.skipValidators()
.build()

def actionId = 181
def transitionValidationResult = issueService.validateTransition(currentUser, issue.id, actionId, issueInputParameters,transitionOptions)

if (transitionValidationResult.isValid()) {
transitionResult = issueService.transition(currentUser, transitionValidationResult)
if (transitionResult.isValid()){
log.debug("Transitioned issue $issue through action $actionId")
}
else {
log.debug("Transition result is not valid") }
}
else {
log.debug("The transitionValidation is not valid")
}

 

Suggest an answer

Log in or Sign up to answer