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 define the script of the condition to be met using send a custom email script runner script

Hi,

i'm trying to set up a "send a custom email" script runner post function and I struggle to define the script of the condition to be met.

the condition is based on a checkboxes custom field. The field should be equal to a specific value.

I tried to select "Has string custom field value equal to " in the suggested examples but it does not work and I click Preview, the condition is set as false.

would you have any idea of the right code to write for a checkboxes custom field?

thanks in advance

melissa

2 answers

1 accepted

1 vote
Answer accepted

You may find it easier to use the cfValues map which is passed in:

https://scriptrunner.adaptavist.com/latest/jira/recipes/workflow/validators/simple-scripted-validators.html#_validating_a_multi_select_option_is_selected

As Thanos said, with checkboxes it can be multiple. To check for a single specific checkbox being checked, and no others, you'd use:

cfValues['Name of field']*.value == ['An item']

thanks a lot to you both. It perfectly works. Just another question : is there a way to reformat the email body and configure a line break for each custom field ? many thanks for your help. it's great

Hi... I'm not sure what you mean. If using html use <p> markers.. If you paste more of the template that would help us answer.

great! i did not know the use of <p> markers ! I'm very very new in coding ! thanks a lot ot's perfect now

Hi Melissa

Below there is a script where you can use in order to get the checkbox values 

import com.atlassian.jira.component.ComponentAccessor
import java.util.ArrayList

def customField2 = customFieldManager.getCustomFieldObjectByName("checkbox")
ArrayList listOfCheckBoxValues = issue.getCustomFieldValue(customField2) as ArrayList
 
if (!listOfCheckBoxValues)
	return false

if (listOfCheckBoxValues*.value.contains("option1"))
	return true
else 
    return false

A note. By default you can select more than one boxes therefore you always get a list of selected values. In case you want to use radio buttons where by default you can select only one value the script will be slightly different. Please let me know if you need further assistance.

Kind regards

Suggest an answer

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

Jira Cloud for Google Sheets: Automatically Refresh Your Data!

Remember that time you realized it was possible to refresh your Jira data in Google sheets with just one click? What if we told you that you can now get the latest data with no clicks at all?! Zero! ...

172 views 1 7
Read article

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