Sending attachments using custom scripted web service

Thej1
Tera Expert

HI,

 

Created  a Scripted REST API and resources for the creation, updation, deletion and adding attachment for an incdent.

Tried with sending request from postman and working fine for Incident creation, updation and deletion.

But when i tried to add an attachment getting the response in postman as “request cannot sent” via postman or as “Invalid content type”.

Tried attachment with the OOB table API and it is working as expected.

 

Could someone help how to send request of adding attachment from postman ?

 

@Dr Atul G- LNG @Ankur Bawiskar 

 

Thanks

 

2 ACCEPTED SOLUTIONS

@Thej1 

it worked. you were not using the correct script which I shared above for SOAP Attachment creator.

I updated your scripted rest API script.

Also it seems you were not sending the complete base64 data

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

@Thej1 

something like this

AnkurBawiskar_0-1736934895342.png

 

Issue was with the script and you should send complete base64 data

It will work file for other file types as well provided you send the complete base64 data

request body here

{
    "incidentNumber":"INC0010002",
    "fileName":"myfile.png",
    "contentType":"image/png",
    "fileData":"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"
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

21 REPLIES 21

@Thej1 

you are not sending the request body in json format

if your requirement is to attach file via scripted rest api then check this link where I shared solution and enhance it based on your requirement

Scripted Rest API to update incident with attachment 

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Hi @Ankur Bawiskar ,

 

This is the json request sent and modified script in scripted rest api. showing as file uploaded to incident and cannot open it. 

Sample JSON request:

{
  "incidentNumber""INC0010002",
  "fileName""myfile.jpeg",
  "contentType""image/png",
  "fileData""iVBORw0KGgoAAAANSUhEUgAABA8AAAJJCAYAAADFkR6QAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAP+lSURBVHhe7L0HoCxLVa..."
}
 
script:
(function process(request, response) {
    // Get the body of the request and decode the JSON
    var requestBody = request.body.dataString; // Get raw request body
    var parser = new global.JSON();
    var parsedData = parser.decode(requestBody); // Parse the JSON

    var number = parsedData.incidentNumber; // Incident number
    var fileName = parsedData.fileName; // Name of the file to be uploaded
    var fileContentType = parsedData.contentType; // File content type (e.g., image/png, application/pdf)
    var fileData = parsedData.fileData; // Base64-encoded file content

    // Fetch the incident record using GlideRecord
    var rec = new GlideRecord('incident');
    rec.addQuery('number', number);
    rec.query();

    if (rec.next()) {
        // Incident found, proceed to attach the file
        // Decode the Base64 file data to binary
        var decodedData = GlideStringUtil.base64Decode(fileData); // Decode from Base64

        // Create a GlideSysAttachment object to handle the attachment
        var sa = new GlideSysAttachment();
        sa.write(rec, fileName, fileContentType, decodedData); // Attach the file to the incident

        // Respond with a success message
        var responseBody = {
            incNumber: number,
            status: "Success",
            message: "File uploaded successfully."
        };
        response.setBody(responseBody);
    } else {
        // Incident not found, respond with failure
        var responseBodyFailure = {
            status: "Failure",
            message: "Incident not found."
        };
        response.setBody(responseBodyFailure);
    }
})(request, response);
 
Incident screenshot:
Thej1_0-1736346713025.png

 

Thanks

@Thej1 

update as this

For global scope write() method works only for plain text

(function process(request, response) {
    // Get the body of the request and decode the JSON
    var requestBody = request.body.dataString; // Get raw request body
    var parser = new global.JSON();
    var parsedData = parser.decode(requestBody); // Parse the JSON

    var number = parsedData.incidentNumber; // Incident number
    var fileName = parsedData.fileName; // Name of the file to be uploaded
    var fileContentType = parsedData.contentType; // File content type (e.g., image/png, application/pdf)
    var fileData = parsedData.fileData; // Base64-encoded file content

    // Fetch the incident record using GlideRecord
    var rec = new GlideRecord('incident');
    rec.addQuery('number', number);
    rec.query();

    if (rec.next()) {
        // Incident found, proceed to attach the file
        // Decode the Base64 file data to binary
        var decodedData = GlideStringUtil.base64Decode(fileData); // Decode from Base64

        // Create a GlideSysAttachment object to handle the attachment

        var eccGr = new GlideRecord('ecc_queue');
        eccGr.initialize();
        eccGr.setValue('agent', 'AttachmentCreator');
        eccGr.setValue('topic', 'AttachmentCreator');
        eccGr.setValue('name', fileName + ':' + fileContentType);
        eccGr.setValue('source', 'incident' + ':' + rec.sys_id);
        eccGr.setValue('payload', fileData);
        eccGr.insert();

        // Respond with a success message
        var responseBody = {
            incNumber: number,
            status: "Success",
            message: "File uploaded successfully."
        };
        response.setBody(responseBody);
    } else {
        // Incident not found, respond with failure
        var responseBodyFailure = {
            status: "Failure",
            message: "Incident not found."
        };
        response.setBody(responseBodyFailure);
    }
})(request, response);

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Hi @Ankur Bawiskar ,

 

Still getting the same result.

 

Thanks

@Thej1 

are you sending the correct base64 data for that image and the correct file name, content type?

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader