API call not able to get Short description and description

Shree Nag
Tera Expert

Hello All,]

Appreciate your help in advance.

I'm very new to the REST API/ I'm dealing with code from another developer.

We are integrating with Sailpoint to create a request.

I get a 200 response. But the short description and description does not get populated.

Please let me know where to look for  debugging or do you see any thing in the script that has to be modified.

Here is the scripted rest resource:

 

(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {

    var currentDate = new GlideDateTime();
    currentDate.addDays(3);

   var gr = new GlideRecord('sc_request');
   gr.initialize();

   gr.requested_for = '4e858ea09392de108677bfca2bba1024'; //Service account for Sailpoint Sys ID
   gr.short_description = request.body.data.short_description;
   gr.description = request.body.data.Description;
   gr.due_date = currentDate;
   gr.state = 1;

    var requestSysId = gr.insert();
    var requestNum = gr.number;
   
    var reqItem = new GlideRecord('sc_req_item');
    reqItem.initialize();
    reqItem.request = requestSysId;
    reqItem.cat_item = '729ca5e80f6b6100343546ace1050eed';
    reqItem.short_description = request.body.data.short_description;
    reqItem.description = request.body.data.Description;
    reqItem.due_date = currentDate;
    var ritmSysId = reqItem.insert();


    gs.info('Created request with sysID: requestSysId');

    var catTask = new GlideRecord('sc_task');
    catTask.initialize();
    catTask.request = requestSysId;
    catTask.request_item = ritmSysId;
    catTask.u_requested_for = '4e858ea09392de108677bfca2bba1024';
    catTask.short_description = request.body.data.short_description;
    catTask.description = request.body.data.Description;
    catTask.assignment_group = 'd625dccec0a8016700a222a0f7900d06';
    catTask.due_date = currentDate;
    var taskSysId = catTask.insert();


    if (requestSysId) {
        response.setStatus(201);  // Created
        response.setBody({ message: "Request "+requestNum+" created sucessfully." });
    } else {
        response.setStatus(500);  // Internal Server Error
        response.setBody({ error: "Failed to create request." });
    }
   

})(request, response);
1 ACCEPTED SOLUTION

Vrushali  Kolte
Mega Sage

Hi @Shree Nag ,

 

Could you please try to add some logs and print the request body? something like - gs.info('Request Body: ' + JSON.stringify(request.body)); 

You are trying to access request.body.data.short_description and request.body.data.Description to populate the fields. Be ensure that the incoming request payload has the correct structure.

 

If my answer solves your issue, please mark it as Accepted✔️ & Helpful👍!

View solution in original post

3 REPLIES 3

Vrushali  Kolte
Mega Sage

Hi @Shree Nag ,

 

Could you please try to add some logs and print the request body? something like - gs.info('Request Body: ' + JSON.stringify(request.body)); 

You are trying to access request.body.data.short_description and request.body.data.Description to populate the fields. Be ensure that the incoming request payload has the correct structure.

 

If my answer solves your issue, please mark it as Accepted✔️ & Helpful👍!

Thank you for the quick response. I will try and get back soon.

Thank you.

The short description request had to be changed to short_description.

I could make it out from teh request body.

Thanks again.