Monday, February 10, 2014

ServiceNow - find the bug

You have a spiffy email notification. Instead of it firing, you get
For input string: "${description}
Priority"java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:449)
java.lang.Integer.parseInt(Integer.java:499)
com.glide.notification.substitution.FieldSubstitute.replace(FieldSubstitute.java:56)
com.glide.notification.substitution.SubstitutionManager.substituteToken(SubstitutionManager.java:196)
com.glide.notification.substitution.SubstitutionManager.substituteVar(SubstitutionManager.java:101)
com.glide.notification.substitution.SubstitutionManager.substitute(SubstitutionManager.java:67)
com.glide.notification.substitution.SubstitutionManager.substitute(SubstitutionManager.java:53)
com.glide.notification.outbound.EmailFormatter.substitute(EmailFormatter.java:174)
com.glide.notification.outbound.EmailFormatter.substitute(EmailFormatter.java:167)
com.glide.notification.cmn.NotificationMessage.getBody(NotificationMessage.java:109)
com.glide.notification.cmn.NotificationMessage.processTemplate(NotificationMessage.java:63)
com.glide.notification.cmn.NotificationActionHandler.send(NotificationActionHandler.java:66)
com.glide.notification.cmn.NotificationActionHandler.process(NotificationActionHandler.java:51)
com.glide.policy.EventProcessor.processEvent(EventProcessor.java:73)
com.glide.policy.EventProcessor.process(EventProcessor.java:56)
com.glide.policy.EventManager.processEvents(EventManager.java:187)
com.glide.policy.EventManager.process(EventManager.java:129)
com.glide.script.GlideSystem.js_eventsProcess(GlideSystem.java:618)
inv41.invoke()
org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:565)
org.mozilla.javascript.FunctionObject.call(FunctionObject.java:480)
org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1196)
org.mozilla.javascript.gen.c440.call(:1)
org.mozilla.javascript.gen.c440.exec()
com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:163)
com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:64)
com.glide.script.ScriptEvaluator.evaluateStringWithPrefix(ScriptEvaluator.java:40)
com.glide.script.Evaluator.evaluatePossiblePrefixedString(Evaluator.java:231)
com.glide.job.RunScriptJob.evaluateScript(RunScriptJob.java:134)
com.glide.job.RunScriptJob.execute(RunScriptJob.java:79)
com.glide.schedule.JobExecutor.execute(JobExecutor.java:72)
com.glide.schedule.GlideScheduleWorker.executeJob(GlideScheduleWorker.java:163)
com.glide.schedule.GlideScheduleWorker.process(GlideScheduleWorker.java:128)
com.glide.schedule.GlideScheduleWorker.run(GlideScheduleWorker.java:58)
  So let's go look at the 'What it will contain'  and we have
Your incident ${number} has updated information:
Short description: ${short_description}
Updated Information: ${comments)
Original Description: ${description}
Priority: ${priority}

Find the bug?

s/${comments)/${comments}/

Yeah, I know. Syntax checkers are for the weak and feeble.

No comments: