How to import packages in Validator?

Alice Truman October 29, 2015

Hi,

I am new to Scriptrunner.

I want to do validation on 2 dependent custom field. so basically I want to check if the "Urgent" is checked (check-box type) then only The "Reason" (text field) should appear and be Required.

I wanted use to Behavior initially so I wrote something like this:

log.debug "Debugging..."
def urgent = getFieldById ("customfield_10503")
def reason = getFieldByName ("customfield_10502")
def value = urgent.getValue()
log.debug "reason11: " 
if (value == true) {
    reason.setHidden(false)
    reason.setRequired(true)
  log.debug "reason22: " //+ value
} else {
  reason.setHidden(true)
  log.debug "reason33: " //+ value
}

But based when I am using this on Creation page, basically there is no listener to detect if the user has check the box or not and it will pass the "False" value to the If-else.

 

Then I decided to use Validator to do that on Create transition but I am unable to use

import com.atlassian.jira.issue.fields.DefaultFieldManager;
def urgent = getCustomField('customfield_10503')

and it give me Cannot find matching method Compile error.

Can anyone give me any advise?

1 answer

0 votes
Thanos Batagiannis _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.
October 30, 2015

Hi Adin,

You can import the ComponentAccessor and get all the managers from there 

import com.atlassian.jira.component.ComponentAccessor

example, you can get the custom field manager :

def customFieldManager = ComponentAccessor.getCustomFieldManager()

and then you can retrieve the custom field 

def cf = customFieldManager.getCustomFieldObjects(issue).find
{it.name == 'Urgent'}

Suggest an answer

Log in or Sign up to answer