- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-08-2023 12:42 PM - edited 12-08-2023 01:02 PM
Hi All ,
I have a requirement where I am little stuck with scripting. Kindly need some guidance from experts .
We have a requirement where , there are number of groups if a user selects any of the groups from the list except that grp remaining should be proceeded for orchestration .
Comments added within script for better understanding .
//workflow.scratchpad.groupNames=workflow.scratchpad.grps;
workflow.scratchpad.restricted_groups = '';
//restrict few groups for orchestration -STRY0417475
var arrayGroups = workflow.scratchpad.grps;
//from here I am taking values from user selected from item
workflow.scratchpad.restricted_groups = arrayGroups.split(",");
gs.log(current.number + 'workflow.scratchpad.groupName' + workflow.scratchpad.restricted_groups);
var gr1 = new GlideRecord('sys_user_group');
//this is the list from from which if groups are there we have exclude those from orchestration
gr1.addEncodedQuery('nameLIKEROL-PCCG_CHS_MTL-ag-EBT_Net-V5^ORnameLIKEROL-PCCG_CHS_TOR-ag-EBT_Net-V5-RX^ORnameLIKEROL-PCCG_CHS_MTL-ag-EBT_Net_Admin-V5^ORnameLIKEROL-SSG-WF-SFTP-Users^ORnameLIKEROL-RPA-OFFICE-BOTS-ACCESS^ORnameLIKEROL-WF-PR-Development^ORnameLIKEROL-WF-PR-ADMIN^ORnameLIKEROL-WF-PR-ADMIN-EI^ORnameLIKEROL-WF-PR-Functional^ORnameLIKEROL-SSG-FORESCOUT^ORnameLIKERUN_NETWORK_NOC_CAN^ORnameLIKERUN_NETWORK_NOC_US_INTL^ORnameLIKERUN_NETWORKS_NOC_ESC^ORnameLIKEROL-ISS Admin^ORnameLIKEROL-ISS Operator^ORnameLIKEBMOUNICAGRP^ORnameLIKEBMOUNICAADM^ORnameLIKEADM-EPS-PE-BSM^ORnameLIKEROL-ISS^ORnameLIKEROL-MIDS Privacy^ORnameLIKEROL-PRODOPS-ACHDT^ORnameLIKEEI_BOWSS^ORnameLIKEROL - LEXMARK MARKVISION ACCESS^ORnameLIKEROL- EJM^ORnameLIKEROL-DevOpsToolsDT^ORnameLIKEROL-BMO-PR-27497-RDMP^ORnameLIKEROL-Basel_CAT_App^ORnameLIKEROL-Vignette BMO Canada^ORnameLIKEROL-SDE^ORnameLIKErol-forescout^ORnameLIKEROL-Centaur-RAF^ORnameLIKEROL-STBG^ORnameLIKEROL-IronPort');
gr1.query();
while (gr1.next()) {
var arr_groups_restrict = gr1.sys_id.toString();
gs.log(current.number + 'thiru 3' + arr_groups_restrict);
//here I am facing difficulty in removing the restricted group from user selected groups
for (var i = 0; i < workflow.scratchpad.restricted_groups.length; i++) {
if (workflow.scratchpad.restricted_groups.indexOf(arr_groups_restrict[i]) > -1) {
workflow.scratchpad.restricted_groups.replaceAll(arr_groups_restrict[i], '');
gs.log(current.number + 'array' + arr_groups_restrict[i]);
if (workflow.scratchpad.restricted_groups.indexOf(',,') > -1) {
workflow.scratchpad.restricted_groups.replaceAll(',,', ',');
}
}
workflow.scratchpad.groupNames = workflow.scratchpad.restricted_groups;
}
}
gs.log(current.number + 'resrtict groups thiru' + workflow.scratchpad.groupNames);
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2023 10:06 AM - edited 12-12-2023 10:08 AM
It worked from the modified encoded query:
@AshishKM Thank you so much for the help 😊.
var gr1 = new GlideRecord('sys_user_group');
gr1.addEncodedQuery('sys_idIN' + restGroupArray + '^name!=ROL-PCCG_CHS_MTL-ag-EBT_Net-V5^name!=ROL-PCCG_CHS_TOR-ag-EBT_Net-V5-RX^name!=ROL-PCCG_CHS_MTL-ag-EBT_Net_Admin-V5^name!=ROL-SSG-WF-SFTP-Users^name!=ROL-RPA-OFFICE-BOTS-ACCESS^name!=ROL-WF-PR-Development^name!=ROL-WF-PR-ADMIN^name!=ROL-WF-PR-ADMIN-EI^name!=ROL-WF-PR-Functional^name!=ROL-SSG-FORESCOUT^name!=RUN_NETWORK_NOC_CAN^name!=RUN_NETWORK_NOC_US_INTL^name!=RUN_NETWORK_NOC_US_INTL^name!=ROL-ISS Admin^name!=ROL-ISS Operator^name!=BMOUNICAGRP^name!=BMOUNICAADM^nameNOT LIKEADM-EPS-PE-BSM^nameNOT LIKEROL-ISS^nameNOT LIKEROL-MIDS Privacy^nameNOT LIKEROL-PRODOPS-ACHDT^nameNOT LIKEEI_BOWSS^nameNOT LIKEROL - LEXMARK MARKVISION ACCESS^nameNOT LIKEROL- EJM^nameNOT LIKEROL-DevOpsToolsDT^nameNOT LIKEROL-BMO-PR-27497-RDMP^nameNOT LIKEROL-Basel_CAT_App^nameNOT LIKEROL-Vignette BMO Canada^nameNOT LIKEROL-SDE^nameNOT LIKErol-forescout^nameNOT LIKEROL-Centaur-RAF^nameNOT LIKEROL-STBG^nameNOT LIKEROL-IronPort');
gr1.query();
while (gr1.next()) {
workflow.scratchpad.groupNames = gr1.sys_id;
}
gs.log(current.number + 'Groups' + workflow.scratchpad.groupNames);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2023 01:56 PM
Shared you the google meet link .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2023 02:52 PM
check this thread for arrayList diff command
Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2023 05:10 PM
any luck
Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2023 10:06 AM - edited 12-12-2023 10:08 AM
It worked from the modified encoded query:
@AshishKM Thank you so much for the help 😊.
var gr1 = new GlideRecord('sys_user_group');
gr1.addEncodedQuery('sys_idIN' + restGroupArray + '^name!=ROL-PCCG_CHS_MTL-ag-EBT_Net-V5^name!=ROL-PCCG_CHS_TOR-ag-EBT_Net-V5-RX^name!=ROL-PCCG_CHS_MTL-ag-EBT_Net_Admin-V5^name!=ROL-SSG-WF-SFTP-Users^name!=ROL-RPA-OFFICE-BOTS-ACCESS^name!=ROL-WF-PR-Development^name!=ROL-WF-PR-ADMIN^name!=ROL-WF-PR-ADMIN-EI^name!=ROL-WF-PR-Functional^name!=ROL-SSG-FORESCOUT^name!=RUN_NETWORK_NOC_CAN^name!=RUN_NETWORK_NOC_US_INTL^name!=RUN_NETWORK_NOC_US_INTL^name!=ROL-ISS Admin^name!=ROL-ISS Operator^name!=BMOUNICAGRP^name!=BMOUNICAADM^nameNOT LIKEADM-EPS-PE-BSM^nameNOT LIKEROL-ISS^nameNOT LIKEROL-MIDS Privacy^nameNOT LIKEROL-PRODOPS-ACHDT^nameNOT LIKEEI_BOWSS^nameNOT LIKEROL - LEXMARK MARKVISION ACCESS^nameNOT LIKEROL- EJM^nameNOT LIKEROL-DevOpsToolsDT^nameNOT LIKEROL-BMO-PR-27497-RDMP^nameNOT LIKEROL-Basel_CAT_App^nameNOT LIKEROL-Vignette BMO Canada^nameNOT LIKEROL-SDE^nameNOT LIKErol-forescout^nameNOT LIKEROL-Centaur-RAF^nameNOT LIKEROL-STBG^nameNOT LIKEROL-IronPort');
gr1.query();
while (gr1.next()) {
workflow.scratchpad.groupNames = gr1.sys_id;
}
gs.log(current.number + 'Groups' + workflow.scratchpad.groupNames);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2023 10:13 AM - edited 12-12-2023 10:14 AM
good to know, finally it's solved case
appreciate if you can mark my reply as accepted solution and all helpful, I know you marked your one as accepted solution but more than one can be mark.
Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution