How can I get external number value to the incident field (REST)

DIVI1
Tera Expert

Hi, 
I'm working on REST API integration and I've created form and also Business rule for "Create Incident" process,

but now I have to create also "update incident" process and here I have a problem. Cause I have a script and definitely something is not working properly... I've created new field in a incident form "u_isd_ticket" and now I want to get number value from another platform to this field. the target field is "correlation_number", waht do you think how to correct a script code?

(Other form value:
When  - async

checkbox UPDATE = true

and also condition for assignment group)

DIVI1_0-1667225559326.png

 

1 ACCEPTED SOLUTION

Hi @DIVI1 ,

Try below code 

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

    var ticketcmdb = 'GFP 0020764392 000';
    var ticketcat = 'Human Resources Payroll';

    var r = new sn_ws.RESTMessageV2('NTT API Integration', 'NTT POST');
    r.setStringParameterNoEscape('u_description', current.description);
    r.setStringParameterNoEscape('u_short_description', current.short_description);
    r.setStringParameterNoEscape('u_state', current.state.getDisplayValue());
    r.setStringParameterNoEscape('u_priority', current.priority);
    r.setStringParameterNoEscape('u_system', ticketcmdb);
    r.setStringParameterNoEscape('u_category', ticketcat);
    r.setStringParameterNoEscape('u_number', current.number);
    r.setStringParameterNoEscape('u_comments', current.comments);
    r.setStringParameterNoEscape('u_work_notes', current.work_notes);
    r.setStringParameterNoEscape('u_assignment_group', 'SAP');
    r.setStringParameterNoEscape('u_correlation_number', current.isp_ticket);

    var response = r.execute();
    var responseBody = response.getBody();
    var statusocde = response.getStatusCode();
    var errormsg = response.getErrorMessage();

    gs.info("responseBody" + responseBody);

    var responseObj = JSON.parse(responseBody);
    gs.info("Correlation number check " + responseObj.correlation_number);
    current.u_isp_ticket = responseObj.correlation_number;
    current.work_notes = "information: Ticket successful created. Ticket number: " + responseObj.correlation_number;
    current.update();

})(current, previous);

Still if you are facing share the logs and check what values you are receiving

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

View solution in original post

10 REPLIES 10

Hi @DIVI1 ,

Try below code 

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

    var ticketcmdb = 'GFP 0020764392 000';
    var ticketcat = 'Human Resources Payroll';

    var r = new sn_ws.RESTMessageV2('NTT API Integration', 'NTT POST');
    r.setStringParameterNoEscape('u_description', current.description);
    r.setStringParameterNoEscape('u_short_description', current.short_description);
    r.setStringParameterNoEscape('u_state', current.state.getDisplayValue());
    r.setStringParameterNoEscape('u_priority', current.priority);
    r.setStringParameterNoEscape('u_system', ticketcmdb);
    r.setStringParameterNoEscape('u_category', ticketcat);
    r.setStringParameterNoEscape('u_number', current.number);
    r.setStringParameterNoEscape('u_comments', current.comments);
    r.setStringParameterNoEscape('u_work_notes', current.work_notes);
    r.setStringParameterNoEscape('u_assignment_group', 'SAP');
    r.setStringParameterNoEscape('u_correlation_number', current.isp_ticket);

    var response = r.execute();
    var responseBody = response.getBody();
    var statusocde = response.getStatusCode();
    var errormsg = response.getErrorMessage();

    gs.info("responseBody" + responseBody);

    var responseObj = JSON.parse(responseBody);
    gs.info("Correlation number check " + responseObj.correlation_number);
    current.u_isp_ticket = responseObj.correlation_number;
    current.work_notes = "information: Ticket successful created. Ticket number: " + responseObj.correlation_number;
    current.update();

})(current, previous);

Still if you are facing share the logs and check what values you are receiving

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

Now finally I've got a message in a work notes: 

DIVI1_0-1667229476612.png

But field is still empty, I wanted to implement here the correlation_Number value:

DIVI1_1-1667229520975.png

 

Hi @DIVI1 ,

can you check logs as well what values we are getting on those?

 

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

I just implemented this part of your script in a "create incident" Business rule except "Update incident" and it's working! 
Thank you so much! 🙂

*Instead of "Update incident" ^^