Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

fetching data from email body in server side script

Deepika54
Tera Contributor

Deepika54_0-1675164477691.png

Hello experts, I have a following email body. I want to fetch the 'Critical' value and store it in some variable in inbound action script . I also have the regex expression    Alert Level: (.*).

Can any1 tell me how to retrieve the value 'critical' and store it in a variable.

2 ACCEPTED SOLUTIONS

Pavankumar_1
Mega Patron

Hi @Deepika54 ,

you can get value like this

 

 

var alert=email.body.alert_level; //you can get value of alert value like this 

 

 

or try below it gives the Critical value

 

var bodyis=email.body_text; //gives you complete body of email
var alerttext=bodyis.split('Alert Level:')[1]; //This gives you text after Alert Level
var gettext=alerttext.split('HostName:')[0];//this gives the text before HostName

 

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

View solution in original post

Hi @Deepika54 ,

yes that will work.

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

View solution in original post

12 REPLIES 12

Pavankumar_1
Mega Patron

Hi @Deepika54 ,

you can get value like this

 

 

var alert=email.body.alert_level; //you can get value of alert value like this 

 

 

or try below it gives the Critical value

 

var bodyis=email.body_text; //gives you complete body of email
var alerttext=bodyis.split('Alert Level:')[1]; //This gives you text after Alert Level
var gettext=alerttext.split('HostName:')[0];//this gives the text before HostName

 

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

are you sure. because in my emai record in the body field, it contains data in this format: Example

</div>
<p class="MsoNormal"><br>
<b>Alert Type: </b>THRESHOLD <br>
<b>Alert Level: </b>Critical<br>

dear @Pavankumar_1  thank you for your help but the script is not working as expected.

using this 

var alerttext=bodyis.split('Alert Level:')[1];

I am getting the entire string from critical to the last example : the output i am getting is this:

Critical
HostName: 
Device IP: 
Model: Acropolis Hypervisor
Parameter: Availability

 

i.e the entire string after critical. How to get only the value critical.

Hi @Deepika54 ,

That is correct I am trying to get the after Alert Level: and before HostName .

That is the required text you need right.

gettext variable will give the desired value.

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar