Close Service Catalog Task via Email

rba-chris
Kilo Expert

Hi Everyone,

I'm trying to automatically close a service catalog task based on and end user clicking on a link in an automatically-sent email. Here's the inbound action script that I'm trying to use:

closeUserAcceptanceTask();  

     

function closeUserAcceptanceTask(){

// Go through all of the RITMs in this REQ and see if they are approved

var gr_task = new GlideRecord('sc_task');

gr_task.addActiveQuery();

gr_task.addQuery('sc_req_item', current.request_item.request);

gr_task.addQuery('short_description', 'STARTSWITH', 'User Acceptance');

gr_task.query();

while(gr_task.next()) {

gr_task.state = "closed_complete";

}

}

I have also checked out the following URL, but I couldn't get it working either:

https://community.servicenow.com/thread/176755?q=Close%20Service%20Catalog%20Task%20via%20Email

Thanks in advance for your help.

1 ACCEPTED SOLUTION

Thanks so much - this was resolved by a co-worker. If anyone's interested in the solution, I can then type it out at another date - it's too long to do unless someone asks. Many thanks for everyone's time and effort - you got me closer to the solution that you may know!


View solution in original post

21 REPLIES 21

Given that it will be user facing, it can't be lower case.



Would this be better?



gs.include('validators');


if (current.getTableName() == "sc_task") {


if (email.subject.indexOf("New Device Accepted") >= 0) {


current.state= "3";


}


current.update();


}


ohh sorry my bad.


toLowerCase() will mark any capital letter in lower. that's it. you can use it


This still isn't working for me and I would truly appreciate further help.


are you trying it in your PDI then i can have look into this . ok do one more thing put some log (gs.log) in your inbound action so it will be easy to validate what exactly coming in your variable.


Thanks so much - this was resolved by a co-worker. If anyone's interested in the solution, I can then type it out at another date - it's too long to do unless someone asks. Many thanks for everyone's time and effort - you got me closer to the solution that you may know!