
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-17-2016 03:47 AM
Hi All ,
I am trying to do some code in CMS pages using Jelly Script , i have created a script and run in background script and it's working fine
but i am not getting how to write the same code in Jelly Script , please find the below script which i have wrote in background script
---------------------
var user_obj=new GlideRecord("sys_user");
user_obj.addQuery('sys_id',gs.getUserID());
user_obj.query();
if(user_obj.next())
{
gs.print("hello::"+user_obj.email);
var ivi_user_details = new GlideRecord('x_eyfso_it_capabil_itca_user');
ivi_user_details.addQuery('respondent_email_id',user_obj.email);
ivi_user_details.query();
if(ivi_user_details.next())
{
gs.print("hello::"+ivi_user_details.respondent_name);
}
}
________________________________________________________
Kindly help and also please give some inputs to learn more about Jelly Scripting
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-17-2016 10:58 AM
I took a bit of your script and this is how you can make it. Hopefully I'm good enough to explain so you understand how to use it.
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_gr" object="true">
var gr = new GlideRecord("sys_user");
gr.addQuery('sys_id',gs.getUserID());
gr.query();
gr;
</g:evaluate>
<j:while test="${jvar_gr.next()}">
dear ${jvar_gr.getValue('email')}
</j:while>
</j:jelly>
I learned my first jelly things while looking at the TechNows jelly episodes. You can find the first one here: TechNow Episode 1 | ServiceNow Jelly Scripting Part 1 of 3 - YouTube
If you want to use jelly variables you need 2 things.
1. Put jelly="true" in the evaluate like this:
<g:evaluate jelly="true">
2. when you refer to a jelly variable in the evaluate you need to put jelly. before the variable name like this:
var users_email = jelly.jvar_this_is_the_jelly_variablename
if you got any other questions, feel free to ask
//Göran

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-19-2016 12:58 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-19-2016 06:01 AM
No problem 😃 Just keep asking if you have any probs.
//Göran
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-19-2016 02:04 AM
Hi Akhil
As explained at point 7.2 in the wiki (Extensions to Jelly Syntax - ServiceNow Wiki ) you need to use the attribute jelly = true.
Try and let me know if this works.
<g:evaluate var="value" object="true" jelly="true">
var value = new GlideRecord("sys_user");
value.addQuery('sys_id',gs.getUserID());
value.query();
value;
</g:evaluate>
<j:while test="${value.next()}" >
Email is :${value.getValue('email')};
<g:evaluate var="user" object="true" jelly="true">
var mail = jelly.value.getValue('email');
var user = new GlideRecord('x_eyfso_it_capabil_itca_user');;
user.addQuery('respondent_email_id', mail);
user.query();
user;
</g:evaluate>
<j:while test="${user.next()}">
Dear ${user.getValue('respondent_name')};
</j:while>
</j:while>

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-19-2016 02:12 AM
It worked I have modified the script before , anyhow thanks for your reply
is there any documentation other than wiki available to learn more about jelly scripting?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-19-2016 06:00 AM
You code above give some strange vibs there Ivano,
* You should only use jelly="true" if you are using jelly variables instead a <g:evaluate>. so in your first evaluate there is no reason for it.
* In your second <g:evaluate> you are calling for a jelly variable(jelly.value). Always begin the variable name of jelly variables with jvar_ Otherwise the Jelly master will go crazy. Which probably means that in your first <g:evaluate> will have value="jvar_value" instead.
Last thing. Remember that you can pass jelly variables inside a <g:evaluate> but it passes a copy into it what ever happens inside the <g> doesn't affect the jvar_
Hope I don't sound to stiff , just want to help so you can avoid strange errors in the future.
//Göran