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?
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'}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.