subtask validation from parent's field used JMWE

Tyas Iglecias February 5, 2021

Hi guys,

I have 3 field :

1.  Vendor (A) : Text Field (multi-line) 12038
2.  Developer (B) : User Picker (multiple users) 12443
3.  SQA (C) : User Picker (multiple users) 12444

fields will be filled in Parent workflow,

I will make validation in sub-task used Linked Issues Validator (JMWE app)

Status Movement from open to in progress if :

A Empty + B Empty +C Empty= stop
A Empty + B filled +C Filled = move
A filled + B filled +C Filled = move
A filled + B Empty +C Empty = move

but I try my script and the result not same with my needs

(linkedIssue.customfield_12038 == null && linkedIssue.customfield_12443.length == 0 && linkedIssue.customfield_12444.length == 0)
||
(linkedIssue.customfield_12038 == null && linkedIssue.customfield_12443.length > 0 && linkedIssue.customfield_12444.length > 0)
||
(linkedIssue.customfield_12038 != null && linkedIssue.customfield_12443.length > 0 && linkedIssue.customfield_12444.length > 0)
||
(linkedIssue.customfield_12038 != null && linkedIssue.customfield_12443.length == 0 && linkedIssue.customfield_12444.length == 0)

the result  :

A Empty + B Empty +C Empty= stop
A Empty + B filled +C Filled = move
A filled + B filled +C Filled = move
A filled + B Empty +C Empty = stop


Capture.JPG

please help me for corrections related to what i have made

Regards,
Tyas

3 answers

1 vote
David Fischer
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
February 8, 2021

Apparently, Jira expressions return "" for an empty multi-line text field (instead of null). Therefore, the script should be:

(!linkedIssue.customfield_12038 && linkedIssue.customfield_12443 != null && linkedIssue.customfield_12444 != null)
||
(!!linkedIssue.customfield_12038 && linkedIssue.customfield_12443 != null && linkedIssue.customfield_12444 != null)
||
(!!linkedIssue.customfield_12038 && linkedIssue.customfield_12443 == null && linkedIssue.customfield_12444 == null)
0 votes
Tyas Iglecias February 7, 2021

Hi @David Fischer ,

After used your script, result is :

A Empty + B Empty +C Empty= move
A Empty + B filled +C Filled = move
A filled + B filled +C Filled = move
A filled + B Empty +C Empty = move

Are there any settings I missed?

0 votes
David Fischer
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
February 5, 2021

Hi @Tyas Iglecias ,

that's probably because, when a multi-user picker field is empty, it doesn't return an empty list but null. Therefore, you should not test the length against 0 but the field against null. Also, your first test is incorrect, since it will pass if all 3 fields are empty. Generally, you need to think in terms of every case where the validator should pass.

(linkedIssue.customfield_12038 == null && linkedIssue.customfield_12443 != null && linkedIssue.customfield_12444 != null)
||
(linkedIssue.customfield_12038 != null && linkedIssue.customfield_12443 != null && linkedIssue.customfield_12444 != null)
||
(linkedIssue.customfield_12038 != null && linkedIssue.customfield_12443 == null && linkedIssue.customfield_12444 == null)

Suggest an answer

Log in or Sign up to answer