Error when trying to use script include on dynamic content box on dashboard

toddhung
Tera Contributor

Hello everyone, 

 

I am currently trying to add a dynamic content box on our dashboard that allows the current user to assign themselves the oldest "unassigned" sc_task or incident. From what I have gathered it isn't easy to add UI actions to dashboards since SN does not natively support that. 

 

I've done some research and have tried using a script include that the dynamic content box can call. 

 

However I am getting an error every time I try to use the buttons in the dynamic content box: 

 

null:-1:-1: <null> No source to compile: file:/glide/nodes/REDACTED_002_16019/webapps/glide/itil/WEB-INF/ui.jtemplates/code_assist_loader.xml: org.apache.commons.jelly.JellyException: null:-1:-1: <null> No source to compile: file:/glide/nodes/REDACTED_002_16019/webapps/glide/itil/WEB-INF/ui.jtemplates/code_assist_loader.xml: com.glide.ui.jelly.GlideJellyContext.compileIGlideTemplateXML(GlideJellyContext.java:903)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:832)
com.glide.ui.jelly.tags.BaseTag.invokeNoRef(BaseTag.java:99)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:88)
com.glide.ui.jelly.tags.form.InlineTag.doTag(InlineTag.java:46)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokeNoRef(BaseTag.java:99)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:88)
com.glide.ui.jelly.tags.form.InlineTag.doTag(InlineTag.java:46)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokeNoRef(BaseTag.java:99)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:88)
com.glide.ui.jelly.tags.form.InlineTag.doTag(InlineTag.java:46)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokeNoRef(BaseTag.java:99)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:88)
com.glide.ui.jelly.tags.form.InlineTag.doTag(InlineTag.java:46)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokerNoRef(BaseTag.java:149)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:130)
com.glide.ui.jelly.tags.form.ElementTag.invokeElement(ElementTag.java:96)
com.glide.ui.jelly.tags.form.ElementTag.doTag(ElementTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokeNoRef(BaseTag.java:99)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:88)
com.glide.ui.jelly.tags.form.InlineTag.doTag(InlineTag.java:46)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokerNoRef(BaseTag.java:149)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:130)
com.glide.ui.jelly.tags.formdyna.FieldSection.singleColumn(FieldSection.java:183)
com.glide.ui.jelly.tags.formdyna.FieldSection.outputColumns(FieldSection.java:162)
com.glide.ui.jelly.tags.formdyna.ElementListTag.doTag(ElementListTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
com.glide.ui.jelly.tags.form.InsertTag.invoke(InsertTag.java:90)
com.glide.ui.jelly.tags.form.InsertTag.invokeBody(InsertTag.java:68)
com.glide.ui.jelly.tags.form.InsertTag.doTag(InsertTag.java:34)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokerNoRef(BaseTag.java:149)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:130)
com.glide.ui.jelly.tags.form.SectionTag.doTag(SectionTag.java:30)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokerNoRef(BaseTag.java:149)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:130)
com.glide.ui.jelly.tags.formdyna.SectionListTag.outputSection(SectionListTag.java:121)
com.glide.ui.jelly.tags.formdyna.SectionListTag.doTag(SectionListTag.java:67)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
com.glide.ui.jelly.tags.StaticFormTag.invokeBody(StaticFormTag.java:25)
com.glide.ui.jelly.tags.BaseStaticTag.doTag(BaseStaticTag.java:31)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokerNoRef(BaseTag.java:149)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:130)
com.glide.ui.jelly.tags.BaseTag.invokeJellyTagged(BaseTag.java:224)
com.glide.ui.jelly.tags.form.FormTag.doTag(FormTag.java:41)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.GlideJellyContext.runJellyXml(GlideJellyContext.java:784)
com.glide.ui.GlideForm.runForm(GlideForm.java:469)
com.glide.ui.GlideForm.generateRealForm(GlideForm.java:393)
com.glide.ui.jelly.tags.form.InsertFormTag.doTag(InsertFormTag.java:90)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.tags.BaseTag.invokerNoRef(BaseTag.java:149)
com.glide.ui.jelly.tags.BaseTag.invoker(BaseTag.java:130)
com.glide.ui.jelly.tags.BaseTag.invokeJellyTagged(BaseTag.java:224)
com.glide.ui.jelly.tags.form.HtmlPageTag.doTag(HtmlPageTag.java:39)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146)
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235)
org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84)
org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205)
com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:727)
com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:864)
com.glide.ui.jelly.GlideJellyContext.runJellyXml(GlideJellyContext.java:784)
com.glide.ui.GlideForm.runForm(GlideForm.java:469)
com.glide.ui.GlideForm.generateRealForm(GlideForm.java:393)
com.glide.ui.GlideForm.getRealForm(GlideForm.java:362)
com.glide.ui.GlideForm.getRenderedPage(GlideForm.java:237)
com.glide.ui.NavigationTransaction.writeOutput(NavigationTransaction.java:160)
com.glide.ui.NavigationTransaction.process(NavigationTransaction.java:131)
com.glide.ui.GlideServletUITransaction.process(GlideServletUITransaction.java:151)
com.glide.processors.AProcessor.runProcessor(AProcessor.java:779)
com.glide.processors.AProcessor.processTransaction(AProcessor.java:326)
com.glide.processors.ProcessorRegistry.process0(ProcessorRegistry.java:187)
com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:175)
com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:58)
com.glide.sys.Transaction.run(Transaction.java:2803)
com.glide.ui.HTTPTransaction.run(HTTPTransaction.java:35)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base/java.lang.Thread.run(Thread.java:840)

has the source as: com.glide.ui.ServletErrorListener

 

This is how our dynamic content box looks like: 

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">

  <button class="btn btn-info" style="margin-left: 20px; display: inline-flex; align-items: center; justify-content: center;" onclick="assignIncident()">Assign Oldest Incident</button>
        <br></br>
        <button class="btn btn-info" style="margin-left: 20px; display: inline-flex; align-items: center; justify-content: center;" onclick="assignTask()">Assign Oldest Task</button>


        <script>
            function assignIncident() {
                var ga = new GlideAjax('AssignOldest');
                ga.addParam('sysparm_name', 'assignOldestIncident');
                ga.getXMLAnswer(function(response) {
                    alert(response);
                });
            }

            function assignTask() {
                var ga = new GlideAjax('AssignOldest');
                ga.addParam('sysparm_name', 'assignOldestTask');
                ga.getXMLAnswer(function(response) {
                    alert(response);
                });
            }
        </script>




</j:jelly>

 

Script include: 

var AssignOldest = Class.create();
AssignOldest.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    assignOldestIncident: function() {
        var grIncident = new GlideRecord('incident');
        grIncident.addQuery('assignment_group.name', 'IT Helpdesk');
        grIncident.addNullQuery('assigned_to');
        grIncident.orderBy('sys_created_on');
        grIncident.query();
        if (grIncident.next()) {
            grIncident.assigned_to = gs.getUserID();
            grIncident.update();
            return 'Assigned oldest unassigned incident to you.';
        } else {
            return 'No unassigned incidents found for IT Helpdesk.';
        }
    },

    assignOldestTask: function() {
        var grScTask = new GlideRecord('sc_task');
        grScTask.addQuery('assignment_group.name', 'IT Helpdesk');
        grScTask.addNullQuery('assigned_to');
        grScTask.orderBy('sys_created_on');
        grScTask.query();
        if (grScTask.next()) {
            grScTask.assigned_to = gs.getUserID();
            grScTask.update();
            return 'Assigned oldest unassigned task to you.';
        } else {
            return 'No unassigned tasks found for IT Helpdesk.';
        }
    }
});

 

Client Callable is also set and the application scope is set to global. 

 

Any insights as to why the buttons are not assigning the oldest sc_task/ incident? 

 

Thanks. 

0 REPLIES 0