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.

CTASK Attachment mandatory

MK21
Tera Contributor

Hi all,

 

I created the below script for Change task for Attachment Mandatory and but

IN THE emergency change short descrption is impementation task , in code i wrote implementation 

 

(function executeRule(current, previous /*null when async*/ ) {
var chg = new GlideRecord("change_request");
chg.addQuery('sys_id',current.change_request);
chg.query();
if(chg.next())
{
    gs.log('type'+chg.type);
    var change_type= chg.type;
}
    if (((current.short_description == "Post implementation testing") && (change_type == 'normal' || change_type == 'standard')) || (current.short_description == 'implementation' && (change_type == 'emergency'))) {
var attachmentGR = new GlideAggregate('sys_attachment');
            attachmentGR.addAggregate('COUNT');
            attachmentGR.addQuery('table_name', 'change_task'); // Change Task table
            attachmentGR.addQuery('table_sys_id',current.sys_id); // Current Change Task record
            attachmentGR.query();
         
            if (attachmentGR.next()) {
var attachcount = attachmentGR.getAggregate('COUNT');

}

}
if(attachcount == 0)
{
 gs.addErrorMessage('The attachment of the sanity implementation test result is mandatory before closing the post-implementation testing CTASK');
   current.setAbortAction(true);
   current.state = previous.state;
   current.setRedirectURL(current);
}
 

})(current, previous);
 
any one can help on this code
5 REPLIES 5

It's a string compare, so 'implementation' is not equal to 'implementation task' so your condition will meet here. Let's say if you used a condition 'contains' then it might have worked...

 

I hope this helps...


☑️ Please mark responses as HELPFUL or ACCEPT SOLUTION to assist future users in finding the right solution....

LinkedIn - Lets Connect