Invoke System properties in Encoded query Script Include
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-08-2023 06:11 AM - edited 06-08-2023 06:27 AM
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'
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-08-2023 07:04 AM
@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:gs.beginningOfOneYearAgo()^user.last_login_time<=javascript:gs.beginningOfLast60Days()');
but when i user the system proerties with if its not working
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-08-2023 07:32 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-08-2023 06:47 AM
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:gs.beginningOfOneYearAgo()^user.last_login_time<=javascript: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'
};