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

如何通过API获取ServiceNow调查的问题、回复及工单编号

解决方案

要同时获取问题、答案和工单编号,你需要通过表关联整合多个核心表的数据——asmt_metric_result仅存储答案原始值,问题和工单信息分别在其他关联表中。以下是具体实现思路和SQL示例:

核心关联逻辑

这类系统的典型表关联关系:

  • asmt_metric_result(回复表) ↔ asmt_metric(问题表):通过metric_id关联,获取问题内容
  • asmt_metric_result ↔ asmt_assessment(调查主表):通过assessment_id关联,筛选你创建的目标调查
  • asmt_assessment ↔ 工单表(如incident/change_request):通过工单关联字段(或中间表asmt_assessment_ticket)获取工单编号

示例SQL查询

SELECT
    am.name AS 问题内容,
    amr.value AS 答案,
    i.number AS 工单编号
FROM
    asmt_metric_result amr
-- 关联问题表拉取问题文本
JOIN asmt_metric am 
    ON amr.metric_id = am.sys_id
-- 关联调查主表,筛选你创建的调查
JOIN asmt_assessment aa 
    ON amr.assessment_id = aa.sys_id
    AND aa.created_by = '你的用户SysID' -- 替换为你的用户ID
    AND aa.name = '你的目标调查名称' -- 可选:指定调查名称缩小范围
-- 关联工单表(以incident为例,根据实际工单类型替换)
JOIN incident i 
    ON aa.ticket = i.sys_id
-- 按工单编号和问题顺序排序,方便查看
ORDER BY
    i.number, am.order;

关键注意事项

  1. 字段适配:不同系统字段名可能有差异,比如问题文本可能是label而非name,工单关联字段可能是ticket_id而非ticket,请通过系统数据字典确认实际字段。
  2. 工单关联方式:如果调查和工单通过中间表asmt_assessment_ticket关联,需调整关联逻辑:
    JOIN asmt_assessment_ticket aat 
        ON aa.sys_id = aat.assessment_id
    JOIN incident i 
        ON aat.ticket_id = i.sys_id
    
  3. 结构化答案解析:如果amr.value是JSON/编码值(如多选答案),需用对应函数解析,例如:
    -- 假设是JSON格式的多选答案
    JSON_VALUE(amr.value, '$.selected_options') AS 解析后答案
    
  4. 权限验证:确保你拥有asmt_metric、asmt_assessment和工单表的查询权限,否则会返回权限错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:10:28