It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to validate all checkboxes are checked using groovy expresion

I'm looking to make sure all 4 checkboxes are selected before an issue is transitioned. I edit the workflow select the transition and add a "Scripted (Groovy) Validator"

cfValues['Manager Acknowledgements'][0].getValue() == 'Value 1 '

cfValues['Manager Acknowledgements'][1].getValue() == 'value 2'

cfValues['Manager Acknowledgements'][2].getValue() == 'value 3'

cfValues['Manager Acknowledgements'][3].getValue() == 'value 4'


However I am getting an error: 

An unknown exception occured executing Validator com.atlassian.jira.workflow.SkippableValidator@3a3029a7: root cause: No such property: cfValues for class: Script1

Do I need to import a library? - JIRA has recognized cfValues for me in script runner previously is there another recognized variable I can use for custom fields?

2 answers

1 accepted

4 votes
Answer accepted

You can only use cfValues in the "Simple Scripted Validator". I guess you are not using that. 

It doesn't seem like the best way anyway, you need to keep the strings in sync. Here is a custom validator that checks that all possible options are checked:

import com.atlassian.jira.component.ComponentAccessor
import com.opensymphony.workflow.InvalidInputException

def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def fieldConfigSchemeManager = ComponentAccessor.getFieldConfigSchemeManager()

def cf = customFieldManager.getCustomFieldObjectByName("Checkboxes") // modify name of checkboxes field
def config = fieldConfigSchemeManager.getRelevantConfig(issue, cf)
def allOptions = optionsManager.getOptions(config)

if (issue.getCustomFieldValue(cf) != allOptions) {
    throw new InvalidInputException(cf.id, "Check all boxes")
}

@JamieA 

This Works ,

 

and any possibility you can add another valildation to the same script.

ex:  (  or validates if the user is in specific project roles in jira )

Hi @Jamie Echlin [Adaptavist] 

This worked. Thanks !

Hi Niamh,

What are the steps you took to fix the script? We need a similar solution...

Did not the script in my answer work?

Hi Jamie,

I'm using the script you suggested, and it seems to be throwing the error even if all the boxes are selected. Do you know if anything has changes since you posted it?

 

Thank you!

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Jira

Demo Den Ep. 7: New Jira Cloud Reports

Learn how to use two new reports for next-gen projects in Jira Cloud:  Cumulative flow diagram and Sprint burndown chart. Ivan Teong, Product Manager, Jira Software, demos the Cumulative ...

365 views 1 3
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you