Script runner failure after JIRA update

e December 15, 2014

JIRA: 6.3.12

Script runner: latest

 

import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.ManagerFactory
import com.atlassian.jira.event.issue.IssueEventDispatcher
import com.opensymphony.workflow.InvalidInputException
bR = (issue.resolution?.id == "6")
passesCondition = true
if (issue.resolution?.id == "6")
{
cfm = componentManager.getCustomFieldManager()
nff = cfm.getCustomFieldObjects(issue).find {it.id == 'customfield_10200'}
cfv = issue.getCustomFieldValue(nff)
if (cfv == null)
{
passesCondition = false
this.invalidInputException = new InvalidInputException("customfield_10200","Defferral Justification field is required when resolving issue as Proposed to defer")
}
}
this.passesCondition=passesCondition
return [:];

 

When the Validator is supposed to work, I get the following:

 

An unknown exception occured executing Validator com.atlassian.jira.workflow.SkippableValidator@47141bd3: root cause: No such property: componentManager for class: vl_defer

 

Please advise. 

3 answers

1 accepted

1 vote
Answer accepted
JamieA
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 15, 2014

I don't know, maybe I removed componentManager from the binding as it's deprecated. The quick fix is to add 

import com.atlassian.jira.component.ComponentAccessor

and replace 

cfm = componentManager.getCustomFieldManager()

with

cfm = ComponentAccessor.getCustomFieldManager()

e December 16, 2014

Thanks, but the validator it not working as it used to work. It simply does nothing. As if it does not exist.

0 votes
e December 16, 2014

Thank you, Jamie Echlin.

 

It works now, I updated the plugin and introduced your code fix suggestions. 

 

Thanks for such a great support. 

0 votes
e December 16, 2014

Thank you for your answer, Jamie Echlin.

The error is gone. But the validator does not work any more. It's meant to work this way: do not allow resolve with 'Propose to Defer' resolution if the customfield_10200 is empty.

It worked in JIRA6.2. 


What can go wrong? Maybe there is another way to check it? 

JamieA
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 16, 2014

I don't understand this: this.passesCondition=passesCondition return [:]; Just do: return passesCondition

Suggest an answer

Log in or Sign up to answer