Jelly script
						
					
					
				
			
		
	
			
	
	
	
	
	
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
02-07-2025 06:12 AM
Hi,
Im trying to use this jelly script but it is not evaluating the if statement please help the code is as follows:
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="jelly:core" xmlns:g2="null">
    <g2:evaluate var="mi_sys_id">
        var sys_id = RP.getParameterValue("sys_id");
        sys_id;
    </g2:evaluate>
    <g2:evaluate var="jvar_location_supportedby" object="true" jelly="true">
        var interaction_location_supportedBy;
        var interaction_location_supportedBy2;
        var gr = new GlideRecord('interaction');
        gr.addQuery('sys_id', jelly.mi_sys_id);
        gr.query();
        if (gr.next()) {
        interaction_location_supportedBy = gr.location.toString();
        }
        interaction_location_supportedBy.toString() ;
        var gr2= new GlideRecord('cmn_location');
        gr2.addQuery('sys_id',interaction_location_supportedBy);
        gr2.query();
        while(gr2.next()){
        if(gr2.u_supported_by=='FTS'||gr2.u_supported_by=='Compucom'){
        interaction_location_supportedBy2="true";
        }
        }
        interaction_location_supportedBy2;
    </g2:evaluate>
    $[jvar_location_supportedby]
    <j:if test="${jvar_location_supportedby==true}">
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;"> $[jvar_location_supportedby] This is a COMPUCOM or OtherServiceName serviced location.
        </div>
    </j:if>
    <!-- $[jvar_location_supportedby] -->
    <!-- <j2:if test="$[jvar_location_supportedby  == 'FTS']"><div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">
    </div></j2:if>
	-->
    <!-- <j2:if test="$[jvar_location_supportedby=='FTS']">
        <div style="color:white;background-color:red;">Major$[SP]Incident</div>
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">This is a COMPUCOM or OtherServiceName serviced location.</div>
     </j2:if> 
     <j2:else test=" =$[jvar_location_supportedby=='']"> 
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">hi</div>
    </j2:else> -->
    <!-- <j2:else > 
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">This is a COMPUCOM or OtherServiceName serviced location.</div>
    </j2:else>  -->
</j:jelly>
Please provide some inputs / links / docs to solve this.
Thankyou
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
02-08-2025 12:41 AM
Hi @krpandeyadi ,
You are combining phase two and phase one in your scripts.
<g2:evaluate var="jvar_location_supportedby" jelly="true">
	 "true";
</g2:evaluate>
<j2:if test="$[jvar_location_supportedby]">
	<h2> I show </h2>
</j2:if>
The key change here is the use of [] in the if instead of {}. (You also don't need to return an object from the evaluate since you're just creating a boolean and you can just evaluate the boolean without explicitly checking for == true).
From the docs:
In addition to the namespaces, the syntax used to insert values into static content differs depending on which phase is to supply the value. A dollar with braces surrounding a value inserts the value in phase 1. For example, ${jvar_ref} inserts the value jvar_ref during phase 1 of the jelly process. A dollar with brackets surrounding a value inserts the value in phase 2. For example, $[jvar_ref] inserts the value jvar_ref during phase 2. A value surrounded by quotes is treated as a string. For example, '[jvar_ref]' inserts the value jvar_ref as a string during phase 2.
Best regards,
Joni
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
02-08-2025 07:18 AM
either use phase 1 using j: or use phase 2 using j2:
update as this
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="jelly:core" xmlns:g2="null">
    <g2:evaluate var="mi_sys_id">
        var sys_id = RP.getParameterValue("sys_id");
        sys_id;
    </g2:evaluate>
    <g2:evaluate var="jvar_location_supportedby" object="true" jelly="true">
        var interaction_location_supportedBy;
        var interaction_location_supportedBy2;
        var gr = new GlideRecord('interaction');
        gr.addQuery('sys_id', jelly.mi_sys_id);
        gr.query();
        if (gr.next()) {
        interaction_location_supportedBy = gr.location.toString();
        }
        interaction_location_supportedBy.toString() ;
        var gr2= new GlideRecord('cmn_location');
        gr2.addQuery('sys_id',interaction_location_supportedBy);
        gr2.query();
        while(gr2.next()){
        if(gr2.u_supported_by=='FTS'||gr2.u_supported_by=='Compucom'){
        interaction_location_supportedBy2="true";
        }
        }
        interaction_location_supportedBy2;
    </g2:evaluate>
    $[jvar_location_supportedby]
    <j2:if test="$[jvar_location_supportedby==true]">
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;"> $[jvar_location_supportedby] This is a COMPUCOM or OtherServiceName serviced location.
        </div>
    </j2:if>
    <!-- $[jvar_location_supportedby] -->
    <!-- <j2:if test="$[jvar_location_supportedby  == 'FTS']"><div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">
    </div></j2:if>
	-->
    <!-- <j2:if test="$[jvar_location_supportedby=='FTS']">
        <div style="color:white;background-color:red;">Major$[SP]Incident</div>
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">This is a COMPUCOM or OtherServiceName serviced location.</div>
     </j2:if> 
     <j2:else test=" =$[jvar_location_supportedby=='']"> 
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">hi</div>
    </j2:else> -->
    <!-- <j2:else > 
        <div style="color:white;background-color:red;padding-top: .5;padding-top: 0px;border-top-width: 5px;margin-top: 5px;padding-left: 1px;padding-right: 1px;">This is a COMPUCOM or OtherServiceName serviced location.</div>
    </j2:else>  -->
</j:jelly>
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
 - Bookmark
 - Subscribe
 - Mute
 - Subscribe to RSS Feed
 - Permalink
 - Report Inappropriate Content
 
02-09-2025 09:05 PM
Hope you are doing good.
Did my reply answer your question?
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
