Create Incident from an Event

MStritt
Tera Guru

Is it possible to create an Incident, when a specific Event occurs? If Event 'integration.send_warning' triggers, create an Incident. And add the following values to the Incident:

 

Description = Parm 1 of the Event

Short description = Download Activity Alert

Assigned Group = Download Activity Alert 

1 ACCEPTED SOLUTION

Hi @MStritt,

 

There is no need to create a Script Include for this, you can add the script in the Script Action.

Try the following script:

var incGr = new GlideRecord('incident');
incGr.initialize(); 
incGr.setValue('description', event.parm1.toString());
incGr.setValue('short_description', 'Download Activity Alert'); 
incGr.setDisplayValue('assignment_group', 'Download Activity Alert'); 
incGr.insert();

Note that you are using the display value of the assignment group. This may change in the future, so you may want to consider using the sys_id instead.

 

View solution in original post

13 REPLIES 13

Thanks James.

Can you provide sample code for the script include? I'm using the below in the Business Rule, but it's not working when the event is fired.

var gr = new GlideRecord('incident');
gr.initialize(); 
gr.description = current.parm1;
gr.short_description = 'Download Activity Alert'; 
gr.assignment_group = 'Download Activity Alert';  
gr.insert();

 

 

Hi @MStritt,

 

There is no need to create a Script Include for this, you can add the script in the Script Action.

Try the following script:

var incGr = new GlideRecord('incident');
incGr.initialize(); 
incGr.setValue('description', event.parm1.toString());
incGr.setValue('short_description', 'Download Activity Alert'); 
incGr.setDisplayValue('assignment_group', 'Download Activity Alert'); 
incGr.insert();

Note that you are using the display value of the assignment group. This may change in the future, so you may want to consider using the sys_id instead.

 

Fantastic! That worked. If I enter the sysid, do I have to put it in quotes or anything?

incGr.setDisplayValue('assignment_group', '12345678');
OR
incGr.setDisplayValue('assignment_group', 12345678);

No worries, if you are using the sys_id, it needs to be in quotes but use setValue, not setDisplayValue.

incGr.setValue('assignment_group', '12345678');

 

Community Alums
Not applicable

Hi @MStritt ,

You need to create Business Rule on sysevent table and add the filter condition like state is processed 

Please check the image below :

SarthakKashya2_0-1713290757190.png

Add below code

 

(function executeRule(current, previous /*null when async*/ ) {

    // Add your code here
    var gr = new GlideRecord('incident');
    gr.initialize();
    gr.description = current.parm1 + 'Download Activity Alert';
    gr.assignment_group = <Sys_id of group>;
    gr.insert();

})(current, previous);

 

Please reach me out if you need anything. 

 

Please mark my answer correct and helpful if this works for you

 

Thanks and Regards 

Sarthak