
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
It is observed that when a data source of type REST (IntegrationHub) returns an attachment with no records such as below
[]
then ServiceNow will leave the import sets in loading state.
In this case response via REST API is valid and returned a 200 response, but there are no records to provide in response to the GET request hence record details are empty.
In order to handle this in scheduled import post script run the following script, this will verify if there are any records in import set row for the import set that is just created by the scheduled import and there are no rows then it marks import set to canceled instead of leaving it in loading.
//reference : https://docs.servicenow.com/bundle/tokyo-platform-administration/page/administer/import-sets/reference/r_DataImportScriptingOptions.html
//https://developer.servicenow.com/blog.do?p=/post/training-glideagg/
//Check if import set is in loading state and number of records are 0 then set importset state to canceled.
var isetSysId = import_set.sys_id;
var isetState = import_set.state;
var enQuery = 'sys_import_set=' + isetSysId;
var aggISetRow = new GlideAggregate('sys_import_set_row');
aggISetRow.addAggregate('COUNT');
aggISetRow.addEncodedQuery(enQuery);
aggISetRow.query();
// Process returned records
while (aggISetRow.next()) {
var recCount ="";
recCount = aggISetRow.getAggregate('COUNT');
//gs.loggingstatement("isetSysId=" + isetSysId + " count = " +recCount + " query = " + enQuery,'av'); - changed method name if logging needed change it to gs.log
//current.state = 'Pending transform';
if(recCount==0 || JSUtil.nil(recCount)) {
setImportSetToCanceled(import_set.sys_id);
}
}
function setImportSetToCanceled(iSetid) {
var grISet = new GlideRecord('sys_import_set');
grISet.get(iSetid);
grISet.state = 'cancelled';
grISet.setWorkflow(false);
grISet.update();
}
- 656 Views
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.