3

我正在尝试从处于活动状态的 Service Now 获取事件列表。我只需要数据中名为due_date 的特定字段。如果我使用 JSON

curl -s -L --user username:password --header "Accept: application/json" --header "Content-Type:application/json" "https://myservicenow.com/api/now/table/incident?sysparm_query=opened_atRELATIVEGE@dayofweek@ago@100"

我得到一个像

    {
        "active": "true",
        ......
        "due_date": "2015-07-22 07:07:28",

    }

我想使用 CSV 网络服务做同样的事情。所以我用

curl -s -L --user username:password "https://myservicenow.com/incident.do?CSV&sysparm_query=opened_atRELATIVEGE@dayofweek@ago@100"

我得到像

"number","sys_created_by","caller_id","short_description","subcategory","u_subcategory_detail","category","priority","state","assignment_group","assigned_to","opened_at","resolved_at"

但是字段due_date 不存在。如何指定要以 CSV 格式检索的字段?

4

1 回答 1

4

CSV 卸载程序基于相关表的UI 视图转储字段。UI 视图上的字段是包含在输出中的字段。由于您没有明确指定视图,因此使用“默认视图”,就像您要在没有sysparm_view指定 URL 参数的应用程序中加载列表一样。

以下是您可以执行的操作:

  • 转到实例并打开表的列表(例如 /incident_list.do)
  • 通过个性化/配置列表修改您的视图以添加due_date
    • 不要使用齿轮列表个性化,这实际上不会改变视图
  • 再次尝试您的 CSV 拉取,您应该包含了 due_date 列!

现在,如果您实际上不想更改默认视图,您可以在目标表上创建一个新的 UI 视图(给它起一个类似“csv_dump”的名称),然后将参数添加sysparm_view=csv_dump到您的 URL,因此:

curl -s -L --user username:password "https://myservicenow.com/incident.do?CSV&sysparm_view=csv_dump&sysparm_query=opened_atRELATIVEGE@dayofweek@ago@100"

...将 sysparm_view 的值作为您用于创建 UI 视图的任何名称传递。

于 2015-09-03T20:27:22.850 回答