You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ServiceNow中使用Scripted REST API导入外部工具数据并确认集成类型

在ServiceNow中通过Scripted REST API导入外部数据及集成类型说明

集成类型确认

这属于入站集成——外部工具主动发起请求将数据发送至ServiceNow的REST端点,数据流向为从外部工具进入ServiceNow,完全符合入站集成的定义。

实现步骤

1. 创建Scripted REST API端点

  • 登录ServiceNow实例,导航至 System Web Services > Scripted REST APIs
  • 点击New创建新API,填写名称(如External Data Importer)、API ID(如external_data_importer),按需设置可见性为All application scopes
  • 在创建好的API下,点击New Resource创建接收数据的资源:
    • 资源名称:如import_records
    • HTTP方法:选择POST(用于接收外部发送的数据)
    • 在脚本字段中编写处理逻辑,示例如下:
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
    // 获取外部请求体数据
    var requestBody = request.body.data;
    
    // 校验必填参数
    if (!requestBody.table_name || !requestBody.records) {
        response.setStatus(400);
        return {error: "缺少必填参数:table_name 或 records"};
    }
    
    var tableName = requestBody.table_name;
    var records = requestBody.records;
    var result = {success: 0, failed: 0, failed_records: []};
    
    // 遍历并插入数据到目标表
    for (var i = 0; i < records.length; i++) {
        var record = new GlideRecord(tableName);
        // 字段映射(需根据实际表结构调整)
        for (var field in records[i]) {
            if (record.isValidField(field)) {
                record[field] = records[i][field];
            }
        }
        
        var saveResult = record.insert();
        if (saveResult) {
            result.success++;
        } else {
            result.failed++;
            result.failed_records.push({index: i, error: record.getErrorMessage()});
        }
    }
    
    response.setStatus(200);
    return result;

})(request, response);

2. 配置端点权限

  • 在Scripted REST资源的Security标签页,设置允许访问的角色(如web_service_access_only或自定义角色)
  • 创建专用API用户并分配上述角色,用于外部工具的认证

3. 外部工具调用端点

外部工具需发送POST请求至以下格式的URL:

https://<你的ServiceNow实例名>.service-now.com/api/now/external_data_importer/import_records

请求体示例(JSON格式):

{
    "table_name": "incident",
    "records": [
        {
            "short_description": "外部导入测试事件1",
            "description": "从外部工具同步的事件详情",
            "priority": "2"
        },
        {
            "short_description": "外部导入测试事件2",
            "priority": "3"
        }
    ]
}

调用时需携带认证信息(基础认证用户名密码或OAuth令牌,按需配置)

4. 测试与调试

  • 使用Postman等工具模拟请求,验证数据是否成功插入目标表
  • 在ServiceNow的System Log中查看日志,排查字段映射、权限等问题

内容的提问来源于stack exchange,提问作者AliDbouk98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 06:25:22