Rest 通过API从ServiceNow检索请求信息

Rest 通过API从ServiceNow检索请求信息,rest,servicenow,Rest,Servicenow,在ServiceNow安装中,我们创建了一个带有两个文本输入值的简单新请求表单。该表单如下所示: +--------------------------------------------------------+ | Get new Computer-request | +--------------------------------------------------------+ | model: <text input

在ServiceNow安装中,我们创建了一个带有两个文本输入值的简单新请求表单。该表单如下所示:

+--------------------------------------------------------+
| Get new Computer-request                               |
+--------------------------------------------------------+
| model: <text input field>                              |
+--------------------------------------------------------+
| organization: <text input field>                       |
+--------------------------------------------------------+
+--------------------------------------------------------+
|获取新计算机请求|
+--------------------------------------------------------+
|型号:|
+--------------------------------------------------------+
|组织:|
+--------------------------------------------------------+
使用此表单创建新请求后,我们可以检索所有 通过查询以下表格,使用ServiceNow表格API获取相关信息:

  • sc_需求_项目
  • sc\U项目\U选项\U mtm
  • sc_项目_选项
  • sc_cat_项目
在发出这些REST调用时,我们必须使用多个筛选器从一个表导航到另一个表,并且只获取服务目录类别中的最新项和请求项

理想情况下,我们希望将整个请求(时间戳、用户、输入值)保存为单个表中的JSON字符串。这样,我们只需查询这个表就可以检索请求的所有相关信息

ServiceNow是否支持从请求表单生成/保存单个JSON文件


非常感谢您的帮助

如果您的目标是能够向实例发出一个请求,从而提供请求的所有详细信息(跨表),那么最好定义一个自定义请求


您可以编写一个脚本来定义所需的JSON响应,然后只调用该API而不是标准的表查询API。

在阅读了Joey的答案所建议的脚本化REST API之后,我创建了一些代码来在ServiceNow上执行表连接和过滤


代码在这里:

谢谢您的回复。这听起来确实是一个可行的解决方案。但这在后台是如何工作的呢?脚本化RESTAPI本身是否对表API进行多次调用,然后将信息呈现给使用者?这是否允许在CMDB中为请求存储单个JSON对象?您只需对自定义脚本化REST端点进行一次调用,它将完全根据您编写自定义脚本化REST配置的方式返回单个有效负载。在脚本中,可能会进行多个GlideRecord调用,将其附加到
响应
对象以构建JSON响应。这里有一个例子:Thank@Joey,按照你的建议发布了答案和代码。还有一个问题:我想在本地开发javascript代码,而不是通过ServiceNow Web界面。是否有一种方法可以将构成脚本API的代码发布到ServiceNow?