I have two checkbox fields. If one is checked, the other cannot/should not be checked and vice versa. I have a Behaviour set up to disable one checkbox if the other is checked, but somehow an issue slipped by. To prevent this from happening again, in addition to the Behaviour, I wanted to add a validator to ensure that the two cannot both be checked in order to Create the issue. Therefore, I set up a Custom Validator on the Create transition. It looks like this:
import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Category;
import com.opensymphony.workflow.InvalidInputException;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.comments.CommentManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.util.ImportUtils;
import com.opensymphony.util.TextUtils
import com.atlassian.jira.component.ComponentAccessor;
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cfValue1 = customFieldManager.getCustomFieldObjectsByName("Custom Field 1")
def cfValue2 = customFieldManager.getCustomFieldObjectsByName("Custom Field 2")
if(cfValue1== 'Yes'){
if(cfValue2 == 'Yes'){
return false
}
return true
}
else{return true}
There's no error being thrown, but the issue can be created with both checkboxes checked (Yes). I would appreciate a suggestion.