- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-16-2025 06:51 PM
Hello,
I am looking for a script to get values of Security Zone attribute from Security Zone Cache node and CI attribute from Configuration Items node in below sample JSON payload.
Based on below sample JSON payload, script should return Security Zone as COR and CI should be dcscapengMID001.
{"1.3.1.1":{"Configuration Items":{"table_name":"cmdb_ci_hardware","cmdb_ci_hardware-query":"ip_address=10.39.145.142^ORsys_idIN8bafe2e4db072150966c676ed396194c,8bafe2e4db072150966c676ed396194c^install_status!=7","results":[{"CI":"dcscapengMID001","Serial Number":"ee11ff7f-e6ff-49bb-857a-1175883319e8","Reporting Realm":"Core","Status":"Installed","sys_id":"8bafe2e4db072150966c676ed396194c"}]},"Network Adapters":{"table_name":"cmdb_ci_network_adapter","cmdb_ci_network_adapter-query":"ip_address=10.39.145.142^install_status!=7","results":[{"Nic":"Ethernet 1","CI":"dcscapengMID001","Reporting Realm":"Core","CI Status":"Installed","sys_id":"d3afe2e4db072150966c676ed396195e"}]},"IP Addresses":{"table_name":"cmdb_ci_ip_address","cmdb_ci_ip_address-query":"ip_address=10.39.145.142^install_status!=7","results":[{"IP":"10.39.145.142","CI":"dcscapengMID001","Reporting Realm":"Core","CI Status":"Installed","sys_id":"ad842bf71bbc0650f3fa2066b04bcb06"}]},"NCM Load Balancer VIP":{"table_name":"u_ncm_cache_lbc_virtual_ip","u_ncm_cache_lbc_virtual_ip-query":"u_address=10.39.145.142/32","results":[]},"IPAM Cache":{"table_name":"u_ipam_cache","u_ipam_cache-query":"u_starting_ip_int<=1.70365326E8^u_ending_ip_int>=1.70365326E8","results":[{"CIDR":"10.0.0.0/8","Type":"Aggregate","Sub Type":"","Reporting Realm":"","Security Zone":"","sys_id":"93f9167b1bfcee94c5c320e4604bcb98"},{"CIDR":"10.0.0.0/8","Type":"Prefix","Sub Type":"Active","Reporting Realm":"Core","Security Zone":"","sys_id":"7a61d3331b78aa944accec21604bcb20"},{"CIDR":"10.32.0.0/12","Type":"Prefix","Sub Type":"Container","Reporting Realm":"Core","Security Zone":"","sys_id":"ba13d33b1b78aa944accec21604bcbd3"},{"CIDR":"10.38.0.0/15","Type":"Prefix","Sub Type":"Container","Reporting Realm":"Core","Security Zone":"","sys_id":"96835f7b1b78aa944accec21604bcb4f"},{"CIDR":"10.39.128.0/18","Type":"Prefix","Sub Type":"Active","Reporting Realm":"Core","Security Zone":"COR","sys_id":"1293df7b1b78aa944accec21604bcb12"},{"CIDR":"10.39.144.0/22","Type":"Prefix","Sub Type":"Active","Reporting Realm":"Core","Security Zone":"None","sys_id":"a293df7b1b78aa944accec21604bcb15"}]},"Security Zone Cache":{"table_name":"u_subnet_nsz","u_subnet_nsz-query":"u_starting_ip_int<=1.70365326E8^u_ending_ip_int>=1.70365326E8","results":[{"CIDR":"10.39.128.0/18","Security Zone":"COR","sys_id":"7c02c775dbd0d81049217a8eaf9619ed"}]},"Unknown IP From Scan":{"table_name":"u_unknown_ip","u_unknown_ip-query":"u_ip_address=10.39.145.142","results":[{"IP":"10.39.145.142","Found":"Yes","Reporting Realm":"Core","sys_id":"6adab2711b32d294a5db0d03604bcbfb"}]},"Unknown CIDR Reason":{"table_name":"u_unknown_cidr_exclusion","u_unknown_cidr_exclusion-query":"u_starting_ip_int<=1.70365326E8^u_ending_ip_int>=1.70365326E8","results":[]}}}
I tried below OOB API to parse these values.But, it's not working for me.
Regards,
Sam
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-16-2025 08:17 PM
Hi @Sam121
You can try the below script, if the results contain more than one array element.
var str = '{"1.3.1.1":{"Configuration Items":{"table_name":"cmdb_ci_hardware","cmdb_ci_hardware-query":"ip_address=10.39.145.142^ORsys_idIN8bafe2e4db072150966c676ed396194c,8bafe2e4db072150966c676ed396194c^install_status!=7","results":[{"CI":"dcscapengMID001","Serial Number":"ee11ff7f-e6ff-49bb-857a-1175883319e8","Reporting Realm":"Core","Status":"Installed","sys_id":"8bafe2e4db072150966c676ed396194c"}]},"Network Adapters":{"table_name":"cmdb_ci_network_adapter","cmdb_ci_network_adapter-query":"ip_address=10.39.145.142^install_status!=7","results":[{"Nic":"Ethernet 1","CI":"dcscapengMID001","Reporting Realm":"Core","CI Status":"Installed","sys_id":"d3afe2e4db072150966c676ed396195e"}]},"IP Addresses":{"table_name":"cmdb_ci_ip_address","cmdb_ci_ip_address-query":"ip_address=10.39.145.142^install_status!=7","results":[{"IP":"10.39.145.142","CI":"dcscapengMID001","Reporting Realm":"Core","CI Status":"Installed","sys_id":"ad842bf71bbc0650f3fa2066b04bcb06"}]},"NCM Load Balancer VIP":{"table_name":"u_ncm_cache_lbc_virtual_ip","u_ncm_cache_lbc_virtual_ip-query":"u_address=10.39.145.142/32","results":[]},"IPAM Cache":{"table_name":"u_ipam_cache","u_ipam_cache-query":"u_starting_ip_int<=1.70365326E8^u_ending_ip_int>=1.70365326E8","results":[{"CIDR":"10.0.0.0/8","Type":"Aggregate","Sub Type":"","Reporting Realm":"","Security Zone":"","sys_id":"93f9167b1bfcee94c5c320e4604bcb98"},{"CIDR":"10.0.0.0/8","Type":"Prefix","Sub Type":"Active","Reporting Realm":"Core","Security Zone":"","sys_id":"7a61d3331b78aa944accec21604bcb20"},{"CIDR":"10.32.0.0/12","Type":"Prefix","Sub Type":"Container","Reporting Realm":"Core","Security Zone":"","sys_id":"ba13d33b1b78aa944accec21604bcbd3"},{"CIDR":"10.38.0.0/15","Type":"Prefix","Sub Type":"Container","Reporting Realm":"Core","Security Zone":"","sys_id":"96835f7b1b78aa944accec21604bcb4f"},{"CIDR":"10.39.128.0/18","Type":"Prefix","Sub Type":"Active","Reporting Realm":"Core","Security Zone":"COR","sys_id":"1293df7b1b78aa944accec21604bcb12"},{"CIDR":"10.39.144.0/22","Type":"Prefix","Sub Type":"Active","Reporting Realm":"Core","Security Zone":"None","sys_id":"a293df7b1b78aa944accec21604bcb15"}]},"Security Zone Cache":{"table_name":"u_subnet_nsz","u_subnet_nsz-query":"u_starting_ip_int<=1.70365326E8^u_ending_ip_int>=1.70365326E8","results":[{"CIDR":"10.39.128.0/18","Security Zone":"COR","sys_id":"7c02c775dbd0d81049217a8eaf9619ed"}]},"Unknown IP From Scan":{"table_name":"u_unknown_ip","u_unknown_ip-query":"u_ip_address=10.39.145.142","results":[{"IP":"10.39.145.142","Found":"Yes","Reporting Realm":"Core","sys_id":"6adab2711b32d294a5db0d03604bcbfb"}]},"Unknown CIDR Reason":{"table_name":"u_unknown_cidr_exclusion","u_unknown_cidr_exclusion-query":"u_starting_ip_int<=1.70365326E8^u_ending_ip_int>=1.70365326E8","results":[]}}}';
var obj = JSON.parse(str);
var ci_obj = obj['1.3.1.1']['Configuration Items']['results'];
var ci_arr = [];
for (var i = 0; i < ci_obj.length; i++) {
ci_arr.push(ci_obj[i]['CI']);
}
var sec_obj = obj['1.3.1.1']['Security Zone Cache']['results'];
var sec_arr = [];
for (var j = 0; j < sec_obj.length; j++) {
sec_arr.push(sec_obj[j]['Security Zone']);
}
gs.print("CI : " + ci_arr.toString());
gs.print("Security Zone: " + sec_arr.toString());
Output:
Regards,
Siva
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-16-2025 09:42 PM
Please mark my response correct as well.
yes you can mark multiple responses as correct as per new communiy feature
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader