Close Inc via email

Stergios Stergi
Mega Guru

Hello!

 

We are trying to implement a system where we close an incident via email.

 

We want to read the subject that will contain the INC number at the beginning.

 

The script is,

 

(function runAction(/*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {


var emailSub = email.subject; // read the email Subject
emailSub = emailSub.substring(0,10);

var grTask = new GlideRecord('incident');  // Table = incident
grTask.addQuery('number', emailSub); // get the Inc Record
grTask.addQuery('active', true);       // check if incident is active
grTask.query();

// if(grTask.next()){
grTask.state = 7 ; // 7 is choice code for close completed in sys_choice table for incident.
grTask.update();
// }



})(current, event, email, logger, classifier);
 
In the When to Run tab of the inbound action I have a couple of rules that filter out the incoming email that seem to work.
But it doesnt work.
 
Can someone take a look into the script?
 
Thank you so much in advance!
1 ACCEPTED SOLUTION

@Stergios Stergi 

 

Can you update the code as below and let me know please

 

grTask.state = 7;

grTask.close_code = "Workaround provided";

grTask.close_notes = "Closed from inbound action";

grTask.update();

 

If my answer solved your issue, please mark my answer as  Correct & 👍Helpful based on the Impact.

View solution in original post

16 REPLIES 16

@Prince Arora 

We traced it and fetches the INC0014215 as it should.

Still the script fails.

@Stergios Stergi 


please check whether that incident is active true 

go to incident table and check manually 

@Prince Arora

Yes it is true and present of course.

 

We tried to log the query results using,

gs.info("logme" +grTask.query());
and it returned undefined as a result.
 
Maybe there is an issue with the query?

 

@Stergios Stergi 

 

Can you update the code as below and let me know please

 

grTask.state = 7;

grTask.close_code = "Workaround provided";

grTask.close_notes = "Closed from inbound action";

grTask.update();

 

If my answer solved your issue, please mark my answer as  Correct & 👍Helpful based on the Impact.

@Stergios Stergi  - This should be inside if