从REST调用填充RITM变量

时间:2017-08-16 15:02:14

标签: rest servicenow

我正在学习脚本化的REST API。我有一个在用户执行POST时创建REQ和RITM。我无法将变量从其余帖子填充到RITM。以下是我目前的代码。响应是RITM,请求者和简短描述。我对所有的建议持开放态度,就像我说我正在学习这一点,所以如果有任何明显的问题,我都会听到。谢谢!

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

    var cartId = GlideGuid.generate(null);
    var cart = new Cart(cartId);
    var item = cart.addItem('25409830135aa20099fc7e776144b0a0'); 
    var rc = cart.placeOrder();
    var req = request.getHeader('ContactEmployeeId');
    var sdesc = request.getHeader('ShortDescription');
    //return rc.number;
    //gs.addInfoMessage(rc.number);
    var num = rc.sys_id;  //get sys ID of newly created request
    var rnum = 0;

    //using the request number, query the RITM table for related RITM
    var u = new GlideRecord('sc_req_item');
    u.addEncodedQuery('request='+num);
    u.query();
    while ( u.next() )
    {
        rnum = u.number;    
    }

    response.setBody({
        Requested_Item: rnum,
        u_requester: req,
        short_description: sdesc
    });

    response.setContentType('application/json');

})(request, response);

1 个答案:

答案 0 :(得分:0)

您可以使用此类setVariable(ritm, variableName, value)方法。

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
var item = cart.addItem('25409830135aa20099fc7e776144b0a0');

// add your variables here to the item variable in your cart object
cart.setVariable(item, "comments", message);
cart.setVariable(item, "my_var_1", value1);
cart.setVariable(item, "my_var_2", value2);

// submit order
var rc = cart.placeOrder();