Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to query user name

Sironi
Kilo Sage

Hi,

Some one help me in GlideQuery.

var gr= "David Faroon"

var rp = new GlideRecord('resource_plan');
rp.initialize();
var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', gr);
usergr.query();
if (usergr.next()) {
rp.user_resource = usergr.sys_id;
}
rp.insert();

 

is it right way to compare name with User table, if yes then ResourcePlan not created . any suggestions ?

1 ACCEPTED SOLUTION

okay.

So try it like this.

 

var gr = "David   Faroon";
gr = gr.trim().replace(/\s+/g,' ');
var rp = new GlideRecord('resource_plan');
rp.initialize();
var usergr = new GlideRecord('sys_user');
usergr.addQuery('name',gr);
usergr.query();
  if (usergr.next()) {
    gs.info("Entered into your if condition");
    rp.user_resource = usergr.getValue("sys_id");
  }
rp.setWorkflow(false);
rp.insert();

View solution in original post

32 REPLIES 32

Ah right mate.

yea I missed that + in the 2nd line.

Thanks Willem. thanks for clarification  

Have you tried the scripts I provided?

So combined all my suggestions:

var userName = "David  Faroon";
userName = userName.trim().replace(/\s+/g,' ');

var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', userName);
usergr.query();
if (usergr.next()) {
    var rp = new GlideRecord('resource_plan');
    rp.initialize();
    rp.user_resource = usergr.getUniqueValue();
    rp.setWorkflow(false);
    rp.insert();
}

Are you sure your issue is with getting the user?

Inserting without the mandatory fields is normally prevented. You can add setWorkflow(false):

var userName = "David Faroon"

var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', userName);
usergr.query();
if (usergr.next()) {
    var rp = new GlideRecord('resource_plan');
    rp.initialize();
    rp.user_resource = usergr.getUniqueValue();
    rp.setWorkflow(false);
    rp.insert();
}

i m trying from Scheduled Job.

can we use "Contains" because sometimes there may be some space in value of variable 

is it right format ?

 

var gr= "David Faroon"

var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', 'CONTAINS', gr);
usergr.query();
if (usergr.next()) {
var rp = new GlideRecord('resource_plan');
rp.initialize();
rp.user_resource = usergr.getUniqueValue();
rp.insert();
}