Trying to get sys id from Attachemnt table sys id

sanjeet1245
Tera Guru
(function executeRule(current, previous) {
    try {
      


gs.info("-------------------------111111111111111111");
            var attachment = new GlideSysAttachment();
            var attachmentContent;
            gs.info("---------------------222222");
           var agr = new GlideRecord('sys_attachment');
		   agr.addQuery('table_name','incident');
		   agr.addQuery('table_sys_id',current.sys_id);
		   agr.query();
           gs.info("-----------------333");

            while (agr.next()) { 
			gs.info('Attachment sys_id:' + agr.getValue('sys_id'));
			
                gs.info('-------' + agr.getValue('file_name')); //print file name of attachment
                attachmentContent = attachment.getContent(agr);
                gs.info('------Attachment content: ' + attachmentContent); //print attachment content
			
            }
        }catch(e){gs.info('------------error in xml attachment '+e);}
})(current, previous);

  Hi, i am having an issue with my business rule. in my business rule on sys_attachment table on condition filename is anything . when i add and save any attachment in the incident form ,i want to see the details of the attachment table sys id in system log 

1 ACCEPTED SOLUTION

You can use the below code to get attachment details in system log whenever any new attachment is attached to any table:-

        var attachment = new GlideSysAttachment();
        var agr = attachment.getAttachments(current.table_name, current.table_sys_id);
        while (agr.next()) {
            gs.info(agr.getValue('file_name')); //print file name of attachment
            var attachmentContent = attachment.getContent(agr);
            gs.info('Attachment content: ' + attachmentContent); //print attachment content
            gs.info('Attachment content type' + agr.getValue('content_type'));
        }

View solution in original post

20 REPLIES 20

I did the Changes as per your instructions but it is not working , the while loop part in not  getting printed in the system log 

 

Refer to the below Screenshots:-

 

Alka4_4-1697538015753.png

 

Alka4_1-1697537911634.png

 

Alka4_2-1697537943367.png

 

 

Alka4_0-1697537865392.png

 

Screenshot 2023-10-17 160611.pngScreenshot 2023-10-17 160632.pngScreenshot 2023-10-17 160739.pngScreenshot 2023-10-17 160823.png

If you are working with attachment table then your script is incorrect because you cannot pass the current.sys_id for incident sys_id. The current.sys_id will be the sys id of attachment record. That's why it is not working.

You can use static sys id or change the table to incident then it will work.