如何根据sys_updated_on过滤serviceNow事件记录

时间:2016-12-07 07:26:28

标签: java xml web-services servicenow

我现在正在使用xml web服务来查询事件记录。我正在使用java和apache Httpscomponents来进行调用。由于我有大量记录,In想要根据sys_updated_on过滤那些记录。我尝试的是将uri传递给HTTPGet

https://<instance>-now.com/incident.do?CSV&sys_param_query=active=true^sys_updated_onBETWEENjavascript:gs.dateGenerate(2016-12-01,03:50:00)@javascript:gs.dateGenerate(2016-12-01,03:55:00)

但这不适合我,因为它返回所有记录,而不是过滤的记录。 有人可以告诉我我在这里做错了什么,也纠正了。 谢谢

3 个答案:

答案 0 :(得分:1)

仅从servenow.com找到解决方案。

https://<instance>-now.com/incident_list.do?sysparm_query=sys_updated_onBETWEENjavascript%3Ags.dateGenerate('2016-12-01'%2C'00%3A00%3A00')%40javascript%3Ags.dateGenerate('2016-11-20'%2C'23%3A59%3A59')

https://<instance>-now.com/incident_list.do?sysparm_query=sys_updated_onBETWEENjavascript%3Ags.dateGenerate('2016-12-01','00:00:00')%40javascript%3Ags.dateGenerate('2016-11-20','23:59:59')

我是怎么发现这个的?在your_instance.servicenow.com上,当我们按下过滤器按钮时,右侧会显示一条过滤器行,右键单击该行并选择复制URL。附件是相同的图像。 query query

答案 1 :(得分:0)

确保日期和时间字符串在引号中。

https://<instance>-now.com/incident.do?CSV&sys_param_query=active=true^sys_updated_onBETWEENjavascript:gs.dateGenerate('2016-12-01','03:50:00')@javascript:gs.dateGenerate('2016-12-01','03:55:00')

答案 2 :(得分:0)

这至少在浏览器中对我有用,我看到的一个区别在于你的代码片段中日期的格式:

https://<instance_url>/incident_list.do?CSV&amp;sysparm_query=active%3Dtrue%5Estate!%3D6%5Esys_updated_onBETWEENjavascript%3Ags.dateGenerate('2016-11-01'%2C'00%3A00%3A00')%40javascript%3Ags.dateGenerate('2016-12-07'%2C'23%3A59%3A59')