How to send attachment from one instance to other instance using rest api in servicenow?

sangitakumari
Tera Contributor

 Hi ,

I have written the code but not moving attachment from one instance to other instance.

I have used Rest api 

 

sangitakumari_0-1670652008959.png

 

 

sangitakumari_2-1670652599701.pngsangitakumari_3-1670652658735.png

 

i have written code but not moving from one instance to other instance ,kindly provide me is it correct if not correct then provide step by step .

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

var incObj = {};
incObj.caller_id = current.caller_id.toString();
incObj.state = current.state.toString();
incObj.short_description = current.short_description.toString();
incObj.correlation_id = current.sys_id.toString();
incObj.work_notes = current.work_notes.getJournalEntry(-1);
incObj.attachment = b64attachment;
incObj.file_name = attachment.getValue('file_name');
incObj.comments = current.comments.getJournalEntry(-1);


//var tosend = JSON.stringify(body);

var attachment = new GlideRecord('sys_attachment');
attachment.addQuery('table_name', 'incident');
attachment.addQuery('table_sys_id', current.sys_id);
attachment.query();
var b64attachment = '';

if (attachment()) {
var attchmentIS = new GlideSysAttachmentInputStream(attachment.sys_id);
var bytearrayOS = new Packages.java.io.ByteArrayOutputStream();

//write byte stream*/
attachmentIS.writeTo(bytearrayOS);

/*encode attachment file*/

b64attachment = GlideBase64.encode(bytearrayOS.toByteArray());

/*ebond the ticket*/

var r = new sn_ws.RESTMessageV2('Create in dev2 instance', 'attachment');

r.setRequestBody(JSON.stringify(incObj)); // sending the data to the REST message.

 

var response = r.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();

var crid = JSON.parse(responseBody);
current.correlation_id = crid.result.sys_id.toString();

gs.log("request body:" + responseBody);


}
} catch (ex) {
var message = ex.message;
}

})(current, previous);

23 REPLIES 23

 
yes that is i want  to create a incident in target servicenow instance when a new incident is created in source instance and attach all the attachments from source instance to target instance.

@sangitakumari Let me check and come back here

Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023

yeah sure

@sangitakumari One question: When incident is created in source instance that time there will not be any attachments right as it is created now itself. So when you want to send attachments?

Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023

As like when i created incident from source instance and attach attachment on same time with creating incident when  so it will show in target instance.