How to pass description value to objects and then push to array
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-19-2024 08:26 AM
Hi Team,
convert description value into objects and then push to array.
In the format of [ {Incident : INC0010014, Affected User : Abraham Lincoln, Priority : 2 - High, Assignment Group : Application Development},{ Incident : INC0010020, Affected User : David Miller, Priority : 1 - Critical, Assignment Group : Service Desk}, {....}]
Please share your inputs how to achieve this.
Thanks
Charan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-19-2024 09:44 AM
Hi @Charan123 ,
Below is the code.
unction getMultipleIncidentDetails() {
var incidentDetailsArray = [];
var details1 = {
'Incident' : 'INC001000',
'Affected User' : 'Abraham Lincoln',
'Priority' : '1 - Critical',
'Assignment Group' : 'Application Developement',
};
var details2 = {
'Incident' : 'INC001002',
'Affected User' : 'Test 2',
'Priority' : '3 - Moderate',
'Assignment Group' : 'Service Desk',
};
incidentDetailsArray.push(details1);
incidentDetailsArray.push(details2);
return incidentDetailsArray;
}
// Example usage of the function
var ans = getMultipleIncidentDetails();
gs.info(JSON.stringify(ans));
OUTPUT:
*** Script: [{"Incident":"INC001000","Affected User":"Abraham Lincoln","Priority":"1 - Critical","Assignment Group":"Application Developement"},{"Incident":"INC001002","Affected User":"Test 2","Priority":"3 - Moderate","Assignment Group":"Service Desk"}]
Run it in the scripts - background to validate the output.
If this information helps, kindly mark this post as Helpful and Accept the soultion.
Regards,
Najmuddin.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-19-2024 10:26 AM
Hi @Najmuddin Mohd ,
Thanks for the reply, I didn't want manually to enter those values( incident,affected user..) and values will be differ for description field in every form.
In the script
var descriptionValue = g_form.getValue('description');
here descriptionValue --> need to convert objects and then push to array
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-19-2024 12:26 PM - edited ‎08-19-2024 12:27 PM
Hi @Charan123 ,
var text = "Incident : INC001000 Affected User : Abraham Lincoln Priority : 2 - High Assignment Group : Application Developement Incident : INC001002 Affected User : Test Priority : 3 - Moderate Assignment Group : Service Desk "; // string variable
// Split the text at each "Incident" keyword
var incidentsArray = text.trim().split(/(?=Incident)/);
//gs.info(typeof(incidentsArray))
var ans = JSON.stringify(incidentsArray);
// gs.info(ans);
//gs.info(incidentsArray.length);
var finalArray = [];
for(var i = 0; i < incidentsArray.length; i++){
var text1 = incidentsArray[i];
// Regex to match the incident details
var regex = /Incident\s*:\s*(INC\d+)\s*Affected User\s*:\s*([A-Za-z\s]+)\s*Priority\s*:\s*([^\n]+)\s*Assignment Group\s*:\s*([A-Za-z\s]+)/g;
var match;
// Loop through each match
if ((match = regex.exec(text1)) !== null) {
// Create an object for each match and push it to the array
finalArray.push({
"Incident": match[1],
"Affected User": match[2].trim(),
"Priority": match[3].trim(),
"Assignment Group": match[4].trim()
});
}
}
gs.info((JSON.stringify(finalArray)));
First the entire data is divided by incidentsArray. Then, for every incidentArray is matched with the regex and pushed into the final array.
Run in the scripts - background to validate the output.
*** Script: [{"Incident":"INC001000","Affected User":"Abraham Lincoln","Priority":"2 - High","Assignment Group":"Application Developement"},{"Incident":"INC001002","Affected User":"Test","Priority":"3 - Moderate","Assignment Group":"Service Desk"}]
If this information helps you, kindly mark this as Helpful and Accept the solution.
Regards,
Najmuddin.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-20-2024 02:04 AM