将CSV文件导入/发布到ServiceNow中

时间:2018-05-04 15:36:58

标签: post import servicenow

我们要求将CSV文件推送到实例,导入并创建事件。我已经创建了导入表和转换映射,我已经成功地手动测试了它们。

但是,当我尝试使用ServiceNow文档中的说明将Post CSV文件发送到导入集时,没有任何反应。在收到提示输入登录凭据后,屏幕变为空白。

当我检查系统日志并导入日志时,我看到的是错误“java.lang.NullPointerException”。

我的网址基本上是以下网址:https://.service-now.com/sys_import.do?sysparm_import_set_tablename =& sysparm_transform_after_load = true& uploadfile =

我有什么遗失的吗?

1 个答案:

答案 0 :(得分:0)

我做同样的事情,但是通过电子邮件进入我的SN实例并使用入站操作处理它。

    var type = {};
type.schedule = 'u_imp_tmpl_u_term_phr_empl_mvs_ids'; //Display name for scheduled import  -- eb9f2dae6f46a60051281ecbbb3ee4a5
type.table = 'u_imp_tmpl_u_term_phr_empl_mvs_ids'; //Import table name

gs.log('0. Process File Start');

if(type.schedule != '' && type.table != '') {
    gs.log('1. Setting up data source');
    current.name = type.schedule + ' ' + gs.nowDateTime(); //append date time to name of data source for audit
    current.import_set_table_name = type.table;
    current.import_set_table_label = "";
    current.type= "File";
    current.format = "CSV";  //"Excel CSV (tab)";
    current.header_row = 1;
    current.file_retrieval_method = "Attachment";

    var myNewDataSource = current.insert();

    gs.log('2. Data source inserted with sys_id - ' + myNewDataSource);

    //point the scheduled import record to the new data source
    var gr = new GlideRecord ('scheduled_import_set');

    gr.addQuery('name', type.schedule);
    gr.query();

    if (gr.next()) {
        gs.log('3. Found Scheduled Import definition');
        gr.data_source = myNewDataSource;
        gr.update();
        gs.log('4. Scheduled Import definition updated to point to data source just added');

        //Packages.com.snc.automation.TriggerSynchronizer.executeNow(gr);
        //Execute a scheduled script job
        SncTriggerSynchronizer.executeNow(gr);
    } else {
        // add error conditions to email somebody that this has occurred
        gs.log('5. ERROR - Unable to locate scheduled import definition. Please contact your system administrator');
    }

    gs.log('6. Inbound email processing complete');
    //gs.eventQueue("ep_server_processed",current);
    event.state="stop_processing";
} else {
    gs.log('7. Inbound email processing skipped');
}