- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2022 01:14 PM
Hi,
I wrote a Rest API that creates an incident.
I need that when the user exists in the system, he will enter the caller_id field. If not, it will create the user and put it in the caller_id.
I send the data via postman
from postman:
function process( /*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
var requestBody = request.body.data;
var inc = new GlideRecord('incident');
inc.initialize();
inc.caller_id = getCaller(requestBody.caller, requestBody.first, requestBody.last);
inc.category = requestBody.category;
inc.short_description = requestBody.short_description;
inc.description = requestBody.description;
inc.impact = requestBody.impact;
inc.urgency = requestBody.impact;
inc.description = requestBody.description;
inc.contact_type = requestBody.contact_type;
inc.insert();
function getCaller(caller, first, last) {
var user = new GlideRecord('sys_user');
user.addQuery('caller_id', caller);
user.query();
if (user.next()) {
return user.caller;
} else if (!user.next()) {
user.caller = caller;
user.first_name = first;
user.last_name = last;
user.update();
return user.caller;
}
}
})(request, response);
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2022 01:34 PM
Hi,
Modified your function a bit, so try using this function.
function getCaller(caller, first, last) {
var user = new GlideRecord('sys_user');
user.addQuery('name', caller);
user.query();
if (user.hasNext()) {
user.next();
return user.sys_id.toString();
} else {
var userNew = new GlideRecord('sys_user');
userNew.initialize();
userNew.name = caller;
userNew.first_name = first;
userNew.last_name = last;
var sysID = userNew.insert();
return sysID;
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-06-2022 01:34 PM
Hi,
Modified your function a bit, so try using this function.
function getCaller(caller, first, last) {
var user = new GlideRecord('sys_user');
user.addQuery('name', caller);
user.query();
if (user.hasNext()) {
user.next();
return user.sys_id.toString();
} else {
var userNew = new GlideRecord('sys_user');
userNew.initialize();
userNew.name = caller;
userNew.first_name = first;
userNew.last_name = last;
var sysID = userNew.insert();
return sysID;
}
}