Script runner problem: "You must enter a value for this field"

Benjamin Mahler March 2, 2015

Hello,

we updated our JIRA test enviroment to JIRA version v6.3.15, recently. Script runner is installed as well (version 3.0.9) and replaced the behaviours plugin.

We are using a bunch of behaviour scripts. At least one them or a combination of all causing trouble, after the migration to script runner.

Creating an issue for a special issue type will trigger the error "You must enter a value for this field" under the component field.

error.png

 

Creating issues for other issue types isn´t a problem at all.

The behaviour for the affected component field is:

 

FormField FieldKomponente = getFieldById(getFieldChanged())   // Feld Komponente

FieldKomponente.setHelpText("<script type=\"text/javascript\">priority=document.getElementById(\'components\');\

  target = document.getElementById(\'customfield_11511\').parentNode;\

  target2 = document.getElementById(\'customfield_11511\');\

  if(priority.value==10101){target.style.display=\'\'}else{target.style.display=\'none\';target2.value = \"null\";}</script>")

 

I discovered 2 workarounds:

  1. Changing the "Guide Workflow" for an moment,at the behavior general settings for that issue type, fix the error for a while, but only for a while. <- Not reliable, does not work all the time.

      2. Switching the issuetype in the create screen from affected issue type to non affected issue type and back.<- Reliable

 

Both are not acceptable solutions for our production system.

Any ideas how to fix that problem permanent?

 

Thanks,

Benjamin

 

2 answers

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.
March 2, 2015

There's no need to mix javascript and groovy, that is just unmaintainable. If you're trying to hide or display fields based on another value just get the other field and call setHidden(true/false).

 

Benjamin Mahler March 3, 2015

Thanks Jamie. Thats not my piece of code and actually I ´m not a developer. I tried this: FormField FieldRSSAusbaustufe = getFieldById ("customfield_11511") FormField FieldKomponente = getFieldById(fieldChanged) switch (FieldKomponente.getFormValue()) { case null : FieldRSSAusbaustufe.setHidden(true) break case "risk solution service" : FieldRSSAusbaustufe.setHidden(false) break } Do you have an hint where the error might be?

0 votes
Benjamin Mahler March 2, 2015

Suggest an answer

Log in or Sign up to answer