I created an issue for one of my project and when I try to edit the issue to make some change to the description I get a java NullPointerException. This issue happen to every issue I created. Note that i've added a Cascading Customs fields that ask for the device where the bug happened (Android, iPhone, desktop, etc.) and the other field ask the version (Froyo, Jellybean or io4,5,6 or Browser).
Hi,
Just to make this available to anyone facing the same issue, please allow me to comment here what was the problem and resolution of this:
2012-10-24 10:28:28,172 http-5472-7 ERROR xxxxxxx 628x23110x1 xxxxx XXX.XXX.XX.XX /secure/QuickEditIssue.jspa [jira.bc.issue.DefaultIssueService] Exception occurred editing issue: java.lang.NullPointerException java.lang.NullPointerException at com.atlassian.jira.issue.customfields.impl.CascadingSelectCFType.getChangelogValue(CascadingSelectCFType.java:390) at com.atlassian.jira.issue.customfields.impl.CascadingSelectCFType.getChangelogValue(CascadingSelectCFType.java:69)
Based on the above stack trace that was displayed in your logs, I believe that you are hitting into a bug in JIRA, and which would definitely explain the reason you started to see this error after adding the Cascading Select Custom Fields, as this bug is caused when nothing is selected in the Cascading Select Field, see JRA-28076.
This bug is currently "Awaiting Development", so we can't promise a fix as of yet, but it will be reviewed by a developer for possible fix, and when (if) developer review begins, the status of the issue will change to "In Progress". Anyhow, I've added this case as a private comment for the dev's review, and would also advise you to watch the bug report to receive future notifications regarding it. Nevertheless, as a workaround to fix this problem, you may replace the "Please Select" option with "None", as per mentioned in the bug report:
- Shutdown JIRA
- Backup and modify the file <tt><jira-install>\atlassian-jira\WEB-INF\classes\templates\plugins\fields\edit\edit-cascadingselect.vm</tt>from
<select class="select cascadingselect-parent" id="${customField.id}" name="${customField.id}"> <option class="default-option" value="">$i18n.getText("common.words.pleaseselect")</option> <option class="default-option" value="-1">$i18n.getText("common.words.none")</option> #foreach ($option in $configs.options.rootOptions) #if(!$option.disabled || $option.disabled == false || ($selectedParent && $selectedParent == $option.optionId.toString())) <option class="option-group-$option.optionId" value="$option.optionId"#if ($selectedParent && $selectedParent == $option.optionId.toString()) selected="selected"#end>$cfValueEncoder.encodeForHtml($option.value)</option> #end #end </select> <select class="select cascadingselect-child" id="${customField.id}:1" name="${customField.id}:1"> <option class="default-option" value="">$i18n.getText("common.words.pleaseselect")</option> <option class="default-option" value="-1">$i18n.getText("common.words.none")</option> #foreach ($parentOption in $configs.options.rootOptions) <option class="option-group-$parentOption.optionId" value="">$i18n.getText("common.words.pleaseselect")</option> <option class="option-group-$parentOption.optionId" value="-1">$i18n.getText("common.words.none")</option>to
<select class="select cascadingselect-parent" id="${customField.id}" name="${customField.id}"> <option class="default-option" value="">$i18n.getText("common.words.none")</option> <!-- <option class="default-option" value="-1">$i18n.getText("common.words.none")</option> --> #foreach ($option in $configs.options.rootOptions) #if(!$option.disabled || $option.disabled == false || ($selectedParent && $selectedParent == $option.optionId.toString())) <option class="option-group-$option.optionId" value="$option.optionId"#if ($selectedParent && $selectedParent == $option.optionId.toString()) selected="selected"#end>$cfValueEncoder.encodeForHtml($option.value)</option> #end #end </select> <select class="select cascadingselect-child" id="${customField.id}:1" name="${customField.id}:1"> <option class="default-option" value="">$i18n.getText("common.words.none")</option> <!-- <option class="default-option" value="-1">$i18n.getText("common.words.none")</option> --> #foreach ($parentOption in $configs.options.rootOptions) <option class="option-group-$parentOption.optionId" value="">$i18n.getText("common.words.none")</option> <!-- <option class="option-group-$parentOption.optionId" value="-1">$i18n.getText("common.words.none")</option> -->- Restart JIRA
This modification will remove the 'Please select' in the option and replace it with the word 'None'
Best regards,
Matheus Fernandes
Atlassian Support
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.