Restrict creating sub task unless parent task field is set to some value

c January 8, 2015

Hi,

I need to restrict users from creating a sub task until a value in the parent it set to 'Yes'.

I am using the following on the validator for the Create Issue transition on the subtask. It doesnt allow me to create the subtask even when parent it set to 'Yes' :

transientVars["issue"].getCustomFieldValue("custom field name") == 'Yes'

Is there a way to do this?

 

Thank you in advance.

1 answer

0 votes
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.
January 8, 2015

Hrm... your code is not checking the parent issue though.

The intuitive answer would be to use a validator something like this:

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cf = customFieldManager.getCustomFieldObjectByName("My Custom Field")
issue.parentObject.getCustomFieldValue(cf) == "Yes"

but I don't think that's going to work, because the link between parent and child won't be created until after the issue is committed.

But you can try it. I suspect it will give a null reference error, as parentObject will be null.

PS:

issue.parentObject.getCustomFieldValue(cf) == "Yes"

is only correct for getting text field values, if it's a select list or radios use:

issue.parentObject.getCustomFieldValue(cf)?.value == "Yes"

I think I would use the "behaviours" aspect of script runner to put a red warning on the form and make all fields read-only. JIRA really needs permissions per issue type.

 

Suggest an answer

Log in or Sign up to answer