Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

ScriptRunner Validator - Subtasks have Select CF initialized

Nicolás Figueroa
Contributor
June 23, 2021

Hello,

Im trying to make a validation in a transition where the parent check if all the sub-tasks have a cf: select list, initialized with a value.

Actually I have done this:

import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.component.ComponentAccessor

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cf = customFieldManager.getCustomFieldObjectByName("UO type")

if (! issue.isSubTask()) {
return true
}

def selectedValue = issue.getCustomFieldValue(cf) as Option
issue.subTaskObjects.every {selectedValue != null}

-> But its not working.

Thanks in advance.validator.png

 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
PD Sheehan
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.
June 23, 2021

The issue is in your last 2 lines.

selectedValue is specific to the parent issue, attempting to check this for a null value in the every{} block is not achieving what you think.

Here is the complete logic that you are trying to accomplish if I understand correctly

issue.subTaskObjects.every{subTaskIssue->
def UOTypeValue = subTaskIssue.getCustomerFieldValue(cf)
UOTypeValue != null
}

 And it can be further simplified because of the built-in groovy truthiness

issue.subTaskObjects.every{it.getCustomerFieldValue(cf)}
Nicolás Figueroa
Contributor
June 26, 2021

Hello @PD Sheehan , thanks for the corrections and your quick response.

This helps me a lot! :)

 

Have a nice day.

Like PD Sheehan likes this
TAGS
AUG Leaders

Atlassian Community Events