标签: servicenow

ServiceNow - 如何编写从2个表中检索值的选择查询

我是ServiceNow的新手,但我知道SQL,我无法在他们的官方网站和谷歌上找到ServiceNow的简单查询示例.有没有办法JOIN或只是检查表1中的X字段是否等于表2中的Y字段?

示例:我有2个表,公司和用户,我需要" SELECT"所有在伦敦工作的用户.在用户表中我有一个字段' company_name',在公司表中我有字段company_namecity.

在SQL中,我可以通过简单的查询来解决它:

SELECT u.* from users u, companies c
WHERE u.company_name = c.company_name and c.city = 'London'
Run Code Online (Sandbox Code Playgroud)

或者加入:

SELECT u.* from users u
LEFT JOIN companies c on u.company_name = c.company_name
WHERE c.city = 'London'
Run Code Online (Sandbox Code Playgroud)

如何在ServiceNow中执行此操作?谢谢

database saas servicenow

5
推荐指数
1
解决办法
6521
查看次数

如何基于调用者过滤服务现在的事件记录?

我现在正在使用json web服务来查询事件记录.我正在使用java和apache Httpscomponents来进行调用.事件表中有很多记录,但我想过滤那些我需要处理的记录.在维基的帮助下,我能够获取新添加的记录.我想获取特定用户调用/创建的记录.

我调用下面表单的URL,myUserName是我需要处理的票据的调用者.

https://<instance>.service-now.com/incident.do?JSON&sysparm_action=getRecords&sysparm_query=incident_state=1%5Ecaller=myUserName
Run Code Online (Sandbox Code Playgroud)

问题是我仍然得到所有新的事件,这意味着它sysparm_query=incident_state=1正在工作,但后来失败或被忽略.

请告诉我,如果我的方法是错误的,并指出我的方向,或者如果它的错误可能是URL中的更正?

java json web-services servicenow

4
推荐指数
1
解决办法
1993
查看次数

除了配置更改之外的所有更改都将在更新集中捕获

我发现更新集中没有捕获对计划脚本执行的任何更新.获取更改的标准是什么?我们是否可以手动配置要在更新集中捕获和不捕获的项目列表.

servicenow

4
推荐指数
1
解决办法
550
查看次数

ServiceNow JSON Web 服务的 Python 身份验证

我正在用 Python 开发一个报告工具,它可以从 ServiceNow 的 JSON Web 服务中获取数据。我们的 ServiceNow 实例使用普通的用户 id / pw 身份验证加上 SHA-1 认证。我的问题是我无法使用脚本访问 JSON Web 服务结果页面(https://servicenowserver.com/table.do?JSONv2&sysparm_query=active=true ^number=12345678)以从那里获取数据。我可以使用我的脚本登录主页(https://servicenowserver.com),它进行身份验证并给出 HTTP 200,但是当我调用 JSON Webservice 页面时给出 HTTP 401(未经授权)。

当我通过浏览器登录 ServiceNow 并启动会话后,我可以在新选项卡上调用 JSON 服务,它会显示结果,但这不适用于我的 Python 脚本。我尝试将urllib3requests库与会话参数一起使用以保持会话打开,但它都不起作用。我认为我的脚本只是在调用主页后立即关闭会话。我也尝试过传递饼干,但没有成功。

长话短说:它可以在我的浏览器中运行,但如果我使用 Python 脚本则不行。

您知道我应该如何进行身份验证才能获取 JSON 结果吗?或者至少如果有人可以指导我如何获得更详细的调试?

您可以在下面找到我尝试过的解决方案之一:

import requests

s = requests.session()
s.auth = ('user', 'password')
s.verify = 'sn.cer'

r = s.get('https://servicenowserver.com', verify=True)
print (r) # This gives HTTP 200

r2 = s.get ('https://servicenowserver.com/table.do?JSONv2&sysparm_query=active=true^number=12345678', verify=True, cookies=s.cookies)
print (r2) # …
Run Code Online (Sandbox Code Playgroud)

python authentication servicenow

4
推荐指数
1
解决办法
3299
查看次数

如何使用 REST API 下载 CSV?

这是一个 REST API,我正在尝试将数据下载为 CSV 文件。

(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {

    var data = '\n'; // workaround to separate <xml> start tag on first line
    data += 'Firstname,Lastname,Username' + '\n';
    data += 'Nikhil,vartak,niksofteng' + '\n';
    data += 'Unknown,person,anonymous' + '\n';

    response.setHeader("Content-Disposition", "attachment;filename=Xyz.csv");
    response.setContentType("text/csv");
    response.setBody({'data':data});

})(request, response);
Run Code Online (Sandbox Code Playgroud)

根据文档 setBody需要一个 JS 对象,因此如果我只是传递data变量,我会收到错误,指出数据无法解析为ScriptableObject.

因此,使用当前代码我得到以下响应:

{
  "result": {
    "data": "\nFirstname,Lastname,Username\nNikhil,vartak,niksofteng\nUnknown,person,anonymous\n"
  }
}
Run Code Online (Sandbox Code Playgroud)

生成的 CSV 如下所示:

在此输入图像描述

知道如何去掉第一行和第五行的 XML 标记吗?

export-to-csv servicenow servicenow-rest-api

4
推荐指数
1
解决办法
3万
查看次数

使用.Net调用Service Web Webservice

我试图从.Net调用Service Now的web服务,我可以使它在插入记录时工作正常,但我无法使用任何GET工作.这是我的工作INSERT代码:

public void insertTable(string tableName, string schema, string columnInfo, string shortDesrcipt, string longDescript)
{
    using (ServiceNow_u_database_table tableReference = new ServiceNow_u_database_table())
    {
        insertResponse response = new insertResponse();

        System.Net.ICredentials cred = new System.Net.NetworkCredential(Properties.Settings.Default.UserName, Properties.Settings.Default.Password);
        tableReference.Credentials = cred;

        insert tableInsert = this.getTableData(tableName, schema, columnInfo, shortDesrcipt, longDescript);
        try
        {
            response = tableReference.insert(tableInsert);
        }
        catch (Exception error)
        {
            Console.WriteLine(error.Message);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好.以下代码不适用于GET:

using (ServiceNow_u_database_table tableReference = new ServiceNow_u_database_table())
{
    ServiceNowExport.com.servicenow.libertydev.u_database_table.getRecords recordGet = new getRecords();
    System.Net.ICredentials cred = …
Run Code Online (Sandbox Code Playgroud)

.net c# web-services servicenow

3
推荐指数
1
解决办法
7213
查看次数

服务-现在,从哪里开始?

我在 Day & Zimmerman 担任桌面支持专家。随着桌面支持,我在空闲时间编码。

我想成为经过认证的 Service-Now 管理员。

什么是开始学习 Service-Now 的好材料?

我了解公司为什么使用 Service-Now,它是如何使用的,但我想了解如何配置它、为服务目录请求配置工作流、创建组以过滤不同 IT 团队之间的工单,以及创建 UI 策略和脚本。

我有很强的 JavaScript 知识。

谢谢

servicenow

3
推荐指数
1
解决办法
1万
查看次数

serviceNow REST API sysparm_query 字段不为空

sysparm_query 对于仅在指定列中包含数据的行

例如:我想要活动的事件数据并定义了业务应用程序

sysparm_query=active=true^??????

servicenow

3
推荐指数
1
解决办法
4077
查看次数

如果满足条件,使用ng-if显示某些事物

ng-if如果条件满足,我试图用来显示某些行,但似乎不能让它100%正确地工作.

<div style="margin-bottom: 1em;">

  <h4><!-- content omitted for brevity--></h4>

  <p>
    <strong>Covered:</strong> &nbsp;
    <a ng-href class="pointer" data-ng-repeat="life in data.list2 track by $index" ng-if="life.beneficiary.length > 0" ng-click="c.editBeneficiary(life)">

      <!-- content omitted for brevity-->
    </a>

    <a ng-href class="pointer" ng-if="life.beneficiary.length = 0" ng-click="c.addBeneficiary()">Add Beneficiary&nbsp;<i class="fa fa-plus-circle" style="color: green;"/></a></p>

</div>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,如果受益人的数量大于0(ng-if="life.beneficiary.length > 0"),我想列出名称并允许用户在必要时编辑它们.这部分工作正常.但是,如果受益人数等于0,那么我希望有一个"添加受益人"的链接,并允许用户这样做.

我把这些ng-if陈述放在<a>标签中,我不确定是对的.当我与没有受益人的用户登录时,"添加受益人"链接不会显示.

  • 我在这做错了什么?

html javascript angularjs servicenow angularjs-ng-if

3
推荐指数
1
解决办法
4710
查看次数

ServiceNow-如何获取记录(事件/请求/更改)

是否有任何通用 URL 可以通过号码 (INC/REQ/CHG) 导航到 serviceNow 门户?

我有一个通用 URL (INC/REQ/CHG),可以通过 sys_id 导航到 ServiceNow 门户:

https://XXXXdev.service-now.com/nav_to.do?uri=task.do?sys_id=XXXXXXXXXXXXXXXXXXXXX

我已尝试以下事件 URL,但它正在创建新记录

XXXXdev.service-now.com/nav_to.do?uri=incident.do?sysparm_order=INC0XXX

或者

XXXXdev.service-now.com/nav_to.do?uri=incident.do?number=INC00XXXX

如果 INC、REQ 或 CHG 有不同的 URL 没问题,我希望 URL 通过给出数字而不是 sys_id 来查看记录。

servicenow

3
推荐指数
1
解决办法
2万
查看次数