The CreatorCon Call for Content is officially open! Get started here.

Invoke System properties in Encoded query Script Include

Saib1
Tera Guru

hi,

 

i have the below code to invoke system properties in Encoded query but not working

 

var LicenseUsers = Class.create();
LicenseUsers.prototype = {
initialize: function() {},

getUSers: function() {
var itilUsers, roleQuery = '',
userArray = [];
roleQuery = gs.getProperty('fulfiller.report.query');
//gs.log('query is ' + roleQuery);
itilUsers = new GlideAggregate("sys_user_has_role");
itilUsers.addAggregate("COUNT");
itilUsers.addEncodedQuery(roleQuery);

itilUsers.groupBy("user");
itilUsers.query();
gs.info('All users count ' + itilUsers.getRowCount());
if (itilUsers.next()) {
userArray.push(itilUsers.user.sys_id.toString());
}
return userArray.join(',');

},
type: 'LicenseUsers'
};

7 REPLIES 7

@Manmohan K - when i use the query by storing it in any Encodedquery it was working finr with if statement itself 

 

//itilUsers.addEncodedQuery('role.nameINadmin,agent_schedule_manager,antivirus_admin,approval_admin,asset,assignment_rule_admin,awa_admin,awa_manager,catalog,catalog_admin,catalog_editor,catalog_lookup_admin,certification_admin,cf_feedback_admin,change_manager,contract_manager,demand_manager,demand_user,flow_designer,guided_tour_admin,ia_admin,idea_admin,impersonator,incident_manager,inventory_admin,it_demand_manager,it_demand_user,it_portfolio_manager,it_project_manager,it_project_portfolio_user,it_project_user,itfm_planner,itil,itil_admin,itom_admin,knowledge,knowledge_admin,knowledge_coach,knowledge_domain_expert,knowledge_group_manager,knowledge_group_member,knowledge_manager,major_incident_manager,personalize_decision_table_input,portfolio_manager,problem_coordinator,problem_manager,problem_task_analyst,project_manager,project_portfolio_user,project_user,rate_model_user,report_admin,resource_user,rm_scrum_task_admin,rota_admin,safe_art_user,safe_product_owner,safe_scrum_master,safe_scrum_user,safe_story_creator,safe_story_editor,scan_admin,scrum_admin,scrum_master,scrum_sprint_planner,scrum_story_creator,scrum_user,search_application_admin,security_admin,skill_admin,sn_align_core.apw_admin,sn_align_core.apw_user,sn_change_cab.cab_manager,sn_change_write,sn_chg_soc.change_soc_admin,sn_cim.improvement_coordinator,sn_cim.improvement_manager,sn_coaching.admin,sn_coaching.coach,sn_comm_management.comm_plan_admin,sn_comm_management.comm_plan_manager,sn_compliance.manager,sn_compliance.user,sn_customerservice_agent,sn_customerservice_manager,sn_customerservice.consumer_agent,sn_customerservice.contact_manager,sn_customerservice.deescalation_requester,sn_customerservice.escalation_requester,sn_esm_agent,sn_grc.manager,sn_hr_sp.admin,sn_hr_sp.esc_admin,sn_incident_write,sn_intel_analyzer.similarity_analyzer_admin,sn_lookup_verify_user,sn_majorissue_mgt.major_issue_manager,sn_portfolio_safe.safe_portfolio_user,sn_problem_write,sn_prod_cat_rel.admin,sn_publications.admin,sn_publications.author,sn_request_write,sn_roadmap_plng.roadmap_admin,sn_walkup.walkup_admin,sn_walkup.walkup_manager,sn_walkup.walkup_technician,survey_admin,ui_notification_admin,workspace_list_admin^user.active=true^user.user_nameISNOTEMPTY^user.sys_class_name=sys_user^user.web_service_access_only=false^user.last_login_time>=javascript&colon;gs.beginningOfOneYearAgo()^user.last_login_time<=javascript&colon;gs.beginningOfLast60Days()');

 

but when i user the system proerties with if its not working

@Saib1 

 

Have you stored it as string in Properties table. If not do it and try again

Azem
Tera Guru

It looks like the value stored in your encoded query is failing. Also, I would use a while loop instead of if to return all sys_ids.

 

Everything prior to this part of the query is working fine:

^user.last_login_time>=javascript&colon;gs.beginningOfOneYearAgo()^user.last_login_time<=javascript&colon;gs.beginningOfLast60Days()

 

var LicenseUsers = Class.create();
LicenseUsers.prototype = {
initialize: function() {},

getUSers: function() {
var itilUsers, roleQuery = '',
userArray = [];
roleQuery = gs.getProperty('fulfiller.report.query');
//gs.log('query is ' + roleQuery);
itilUsers = new GlideAggregate("sys_user_has_role");
itilUsers.addAggregate("COUNT");
itilUsers.addEncodedQuery(roleQuery);

itilUsers.groupBy("user");
itilUsers.query();
gs.info('All users count ' + itilUsers.getRowCount());
while (itilUsers.next()) {
userArray.push(itilUsers.user.sys_id.toString());
}
return userArray.join(',');

},
type: 'LicenseUsers'
};