validateTransition fail without any message when there is custom scriptrunner condition

Deleted user December 18, 2018

I'm trying to transit parent issue when post function of sub-task

below is code of post function of sub-task 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.bc.issue.IssueService.TransitionValidationResult
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueInputParameters
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.workflow.TransitionOptions
import com.atlassian.jira.workflow.WorkflowManager
import com.opensymphony.workflow.loader.StepDescriptor
import com.atlassian.jira.workflow.JiraWorkflow
import com.opensymphony.workflow.loader.ActionDescriptor

WorkflowManager workflowManager = ComponentAccessor.getWorkflowManager()
Issue parentIssue = issue.parentObject
ApplicationUser loggedInUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()

JiraWorkflow workflow = workflowManager.getWorkflow(parentIssue)

StepDescriptor currentStep = workflow.getLinkedStep(parentIssue.status)
List<ActionDescriptor> actions = currentStep.getActions()

IssueService issueService = ComponentAccessor.getIssueService()

def action = actions.first()

IssueInputParameters issueInputParameters = issueService.newIssueInputParameters()


TransitionValidationResult transitionValidationResult = issueService.validateTransition(loggedInUser, parentIssue.getId(), action.getId(), issueInputParameters)

if(transitionValidationResult.isValid()) {
issueService.transition(loggedInUser, transitionValidationResult)
}

but this code fail without any exception

 

but this is success when I add transitionOptions with skip Condition

def transitionOptions = new TransitionOptions.Builder().skipConditions().build()

 

Parent issue has post script condition like below

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.customfields.option.LazyLoadedOption

def customFieldManager = ComponentAccessor.getCustomFieldManager()

def mptCustomField = customFieldManager.getCustomFieldObject(13959)
def mptCustomFieldOption = issue.getCustomFieldValue(mptCustomField) as LazyLoadedOption
def mptCustomFieldValue = mptCustomFieldOption.value

passesCondition = "In House" != mptCustomFieldValue

 

Could you help me please?

I want to get actions that satisfy conditions

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events