创建一个网页以显示来自ServiceNow

时间:2017-09-06 12:52:06

标签: rest webpage servicenow

我想创建一个网页(如仪表板)来显示来自ServiceNow的信息,如:

  1. 欧洲地区的客户数量
  2. 事件数
  3. 未决事件数
  4. 近似事件的数量
  5. 您能否建议我该如何处理?(我了解Java并了解Rest)

    由于

2 个答案:

答案 0 :(得分:1)

我会像Kirk在上面的评论中所建议的那样,在Servicenow中构建它,但是,如果这不是一个选项,那么这是另一种方式。

找出您列出的四个数据点所需的查询; 例如/cmn_company_list.do?sysparm_query=u_region=europe

然后使用Aggregate API为每个人拨打休息电话。

您可能需要修改Servicenow中的[CORS] [2]以允许您的站点访问此端点,以及使用服务帐户。

您在Java中的代码可能看起来像;

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://something.service-now.com/api/now/stats/incident?sysparm_query=active%3Dtrue&sysparm_sum_fields=active")
  .get()
  .addHeader("content-type", "application/json")
  .addHeader("authorization", "Basic NeverGunnaGetIt")
  .addHeader("accept", "application/json")
  .build();

Response response = client.newCall(request).execute();

哪个会产生类似的结果;

{
    "result": {
        "stats": {
            "sum": {
                "active": "6146"
            }
        }
    }
}

答案 1 :(得分:0)

我建议在ServiceNow中构建它而不是单独的网页,但如果这不是一个选项,您可能需要使用某种JavaScript库创建图表{{3} }

查看文档,但您可以使用通过REST提取的数据执行这些操作。这是一个条形图,但该库有许多图表选项。

<script src="../lib/Chart.min.js" type="text/javascript"></script>
<canvas id="myChart" width="400" height="400"></canvas>
<script>
    var data = [12, 19, 3, 5, 2, 3, 12, 19, 3, 5, 2, 3];
    var ctx = document.getElementById("myChart").getContext('2d');
    var myChart = new Chart(ctx, {
        type: 'bar',
        data: {
            labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
            datasets: [{
                label: '# of Incidents per Month',
                backgroundColor: 'rgba(0, 0, 220, 0.5)',
                data: data
            }]
        }
    });
</script>

在这里,您需要将data设置为REST中的数据数组。

http://www.chartjs.org/