集成ServiceNow
与ServiceNow集成以提交和监视请求,并使用Citrix Workspace从任何设备、内部网或信使采取行动。
请注意
我们提供了两个ServiceNow集成模板供您使用。我们建议对大多数用例使用较新的HTTP集成。HTTP集成为配置缓存的数据结构提供了更强大的功能。每个集成的设置过程是相同的。有关每个集成中可用的微应用程序的详细信息,请参阅使用ServiceNow微应用.
使用以下流程来启用ServiceNow集成。确保满足先决条件,启用API访问,并为专用用户分配角色。完成此过程后,现有的审计日志记录级别将继续存在,包括使用Citrix Microapps执行的任何操作。
这种集成使您能够:
- 在工作区体验中创建一个任务。该解决方案根据当前登录的用户向API请求添加“opened_by”参数。如果在服务操作参数设置中显式定义“opened_by”参数,它将替换默认值
- 批准微应用内的请求。该解决方案将user_name设置的句子Approval state添加到评论字段,以确定谁执行了审批
- 从微应用中创建一个新的服务目录请求。该解决方案根据当前登录的用户向API请求添加“requestd_for”参数
要了解完整的ServiceNow即用微应用列表,请参见使用ServiceNow微应用.
检查先决条件
这些先决条件假设您管理组织的ServiceNow实例来设置集成。
工作区用户需要分配适当的角色来完成服务操作。正确的角色取决于您的ServiceNow配置。
要在Citrix Workspace Microapps中添加集成,您必须具备以下细节:
- 基URL:这是您的实例URL。您必须输入您的实例基URL或者简单地替换
{cloud-id}
在示例中使用您的客户ID。 - 授权URL:替换
{客户id}
在示例中使用您的客户ID,https://{客户id} .service-now.com/oauth_auth.do
这是在设置目标应用程序集成时提供的授权服务器URL。 - 标记的URL取代
{客户id}
在示例中使用您的客户ID:https://{客户id} .service-now.com/oauth_token.do
.这是访问授权令牌的URL。 - 用户名This和Password是服务帐户的凭据,可以访问ServiceNow中的完整表结构和所有表。
- 密码This和Username是服务帐户的凭据,可以访问ServiceNow中的完整表结构和所有表。
- 客户机ID您通过在您的ServiceNow帐户中注册OAuth客户端来收集客户端ID。对于服务身份验证和服务操作身份验证,客户端ID和客户端秘密是相同的。
- 客户的秘密:您通过在您的ServiceNow帐户中注册OAuth客户端来收集客户端秘密。对于服务身份验证和服务操作身份验证,客户端ID和客户端秘密是相同的。
请注意
在可用的情况下,建议始终使用OAuth 2.0作为服务身份验证方法。OAuth 2.0确保您的集成符合您配置的微应用程序的最大安全遵从性。
获取新的oauth2 client_id和client_secret,并定义客户端应用程序的范围。
将Citrix Gateway配置为支持ServiceNow的单点登录,这样一旦用户登录,他们就会自动再次登录,而不必再次输入凭据。按照ServiceNow单点登录配置.有关配置SSO的详细信息,请参见Citrix网关服务.
新的HTTP集成权限
您的ServiceNow管理帐户必须对我们在集成中获取的所有表具有读访问权限。请看下面的列表:
- change_request
- 事件
- 问题
- sc_cat_item
- sys_user
- 任务
- cmn_location
- core_company
- sc_req_item
- sc_request
- sys_journal_field
- sys_user_delegate
- sys_user_group
- sys_user_has_role
- sys_user_role
- sys_user_role_contains
- sysapproval_approver
- sys_choice
- sc_item_option_mtom
重要的
管理HTTP集成的ServiceNow admin帐户必须将时区设置为GMT。这是纠正工作区和增量数据同步中的时间处理所必需的。如果发现任何时间不匹配,请首先检查这些设置以解决问题。
ServiceNow角色
我们建议使用以下ServiceNow角色:
- approval_admin
- itil
- personalize_choices
- snc_read_only
遗留集成特权
这个ServiceNow管理帐户必须具有完全的数据访问权限。如果您选择为Microapps集成使用单独的ServiceNow帐户,则需要手动在受限表上添加读取权限,例如sys_journal_field。具体来说,管理员需要访问以下表,因为它们包含有关ServiceNow数据结构的信息:
- sys_db_object
- sys_dictionary
- sys_choice
为所需的表启用API访问
默认情况下,大多数ServiceNow表都允许通过web服务访问。要确认要与Workspace同步的表是否可以通过web服务访问:
- 登录ServiceNow。
- 选择“系统定义>表”.
- 选择信息要确认的表名称旁边的图标。选择打开记录.选择应用程序访问选项卡,并确保启用“允许通过web服务访问此表”复选框。
- 如果需要,选中复选框,然后单击更新保存您的设置。
添加回调url
在实例配置中添加一个自定义URL,以授予对私有数据的访问权限,并启用OAuth身份验证的用户操作。
请注意
URL的这一部分
{yourmicroappserverurl}
由租户部分、区域部分和环境部分组成:https:// {tenantID}。{地区(美国/欧盟/ ap-s)} .iws.cloud.com
.
- 以管理员身份登录ServiceNow。
- 导航到系统认证>应用程序注册表,并选择新.
- 选择为外部客户端创建OAuth API端点.
属性中输入此集成的以下授权重定向url重定向URL以逗号分隔的字段:
https:// {yourmicroappserverurl} / admin / api / gwsc /认证/ serverContext
https:// {yourmicroappserverurl} / app / api /认证/ serviceAction /回调
确保PKCE所需未被选中。
- 单击Submit。
过滤查询
大多数ServiceNow实体都支持过滤。表API GET方法的sysparm_query URL参数允许过滤。选择预定义的查询或编写自己的自定义查询。有关更多信息,请参阅ServiceNow REST API参考和产品文档.
请注意
如果查询或其任何部分无效,则忽略无效部分,如ServiceNow文档中指定的那样。
例子:
//仅活动对象:Active =true //最近2天更新:sys_updated_onONLast%20day@javascript:gs.daysAgoStart(1)@javascript:gs.daysAgoEnd(0) //最近3小时更新:sys_updated_onONLast%20hour@javascript:gs.hoursAgoStart(2)@javascript:gs.hoursAgoEnd(0) //最近4个月更新:sys_updated_onONLast%20month@javascript:gs.monthsAgoStart(3)@javascript:gs.monthsAgoEnd(0)
将集成添加到Citrix Workspace Microapps中
将ServiceNow集成到Citrix Workspace Microapps中以连接到您的应用程序。这提供了开箱即用的微应用程序,具有预先配置的通知和操作,可以在您的工作区中使用。我们提供了两个ServiceNow集成模板供您使用。我们建议对大多数用例使用较新的HTTP集成。
添加ServiceNow HTTP集成
按照以下步骤设置ServiceNow HTTP集成。认证选项是预先选择的。确保在完成该过程时选择了这些选项。我们建议在大多数用例中使用这个更新的HTTP集成。HTTP集成为配置缓存的数据结构提供了更强大的功能。
遵循以下步骤:
- 从Microapp集成页面,选择添加新的集成,从citrix提供的模板中添加一个新的集成.
- 选择ServiceNow tile。
- 输入一个集成的名字为了积分。
- 输入连接器参数.
- 输入实例基URL或者简单地替换
{客户id}
在示例中使用您的客户ID。 - 选择一个图标从图标库中获取集成,或者将其保留为默认的ServiceNow图标。
- 启用本地实例如果要创建本地连接,请切换。有关更多信息,请参见本地实例.
- 输入实例基URL或者简单地替换
下服务认证中,选择OAuth 2.0从身份验证方法菜单并完成身份验证详细信息。使用OAuth 2.0安全协议为委托访问生成请求/授权令牌。在可用的情况下,建议始终使用OAuth 2.0作为服务身份验证方法。OAuth 2.0确保您的集成符合您配置的微应用程序的最大安全遵从性。
- 选择资源所有者密码从格兰特类型菜单。提供正确的凭据以授权资源服务器提供访问令牌。
- 选择请求体从令牌授权菜单。
- 输入您的标记的URL或者简单地替换
{客户id}
在示例中使用您的客户ID:https://{客户id} .service-now.com/oauth_token.do
.这是访问授权令牌的URL。 - 输入您的用户名和密码.这些是服务帐户的凭据,可以访问完整的表结构和ServiceNow中的所有表。
- 输入您的客户机ID.客户端ID是表示授权服务器唯一的客户端注册信息的字符串。
- 输入您的客户的秘密.客户端秘密是在设置目标应用程序集成时发出的唯一字符串。
输入您的标题前缀.(可选)如果承载前缀与默认前缀不同,则输入报头前缀。
- 如果你选择OAuth 2.0认证方式,可选择+添加参数包括访问令牌参数.访问令牌参数根据需要定义目标应用程序授权服务器所需的访问令牌参数。
下服务动作认证,启用在操作中使用单独的用户身份验证切换。服务操作身份验证在服务操作级别进行身份验证。
- 选择OAuth 2.0从身份验证方法菜单并完成身份验证详细信息。
- 选择授权代码从格兰特类型菜单。这将授予客户端交换访问令牌的临时代码。代码是从授权服务器获得的,您可以在授权服务器上看到客户端请求的信息。只有这种授权类型才能启用安全用户模拟。这将显示回调URL,在注册应用程序时使用。
- 选择请求体从令牌授权菜单。
- 输入您的授权URL或者简单地替换
{客户id}
在示例中使用您的客户ID,https://{客户id} .service-now.com/oauth_auth.do
这是在设置目标应用程序集成时提供的授权服务器URL。 - 输入您的标记的URL或者简单地替换
{客户id}
在示例中使用您的客户ID:https://{客户id} .service-now.com/oauth_token.do
.这是访问授权令牌的URL。 - (可选)输入您的范围定义访问请求的范围。该字符串由授权服务器在设置目标集成应用程序时定义。
- 输入您的客户机ID.客户端ID是表示授权服务器唯一的客户端注册信息的字符串。您可以通过在ServiceNow帐户中注册OAuth客户端来收集此信息和密钥。你需要加上回调URL您可以在集成配置页面上看到。
- 输入您的客户的秘密.客户端秘密是在设置目标应用程序集成时发出的唯一字符串。
- (可选)输入您的标题前缀如果您的承载前缀与默认标头不同。
- 如果你选择OAuth 2.0认证方式,可选择+添加参数包括访问令牌参数.访问令牌参数根据需要定义目标应用程序授权服务器所需的访问令牌参数。
- (可选)如果要激活此集成的速率限制,请启用请求速率限制切换和设置请求数每时间间隔.
(可选)使日志记录切换为保持24小时的日志记录以提供支持。
- 选择保存.
添加遗留集成
按照以下说明设置遗留的基于java的ServiceNow集成。
遵循以下步骤:
从概览页面中选择开始.
将打开Manage integration页面。
- 选择添加新的集成,从citrix提供的模板中添加一个新的集成.
- 选择ServiceNow tile。
输入集成的名称。
- 进入连接器参数作为先决条件。
- 输入您的URL.
- 进入用户名和密码.
- 选择一个身份验证方法.使用OAuth 2.0安全协议为委托访问生成请求/授权令牌。
- 对于Oauth 2.0,输入OAuth客户端ID和OAuth客户端秘密您在先决条件过程中收集的。
- 为ServiceNow连接数.该值决定数据同步启动的字符串数。
注意:默认连接数为3。打开更多连接减少了数据同步的时间,但增加了Microapps服务器的负载,并可能影响其性能。如果您需要,我们建议不要超过10个。
- 选择单选按钮到下载非活动数据例如,如果您希望拥有已关闭请求的列表,或者将其他数据设置为
Active = false
.
- 选择添加.
的Microapp集成页面打开与您添加的集成和微应用程序。从这里你可以添加另一个集成,继续设置开箱即用的微应用程序,或者为这个集成创建一个新的微应用程序。
现在可以设置并运行第一个数据同步了。由于大量数据可以从您的集成应用程序拉到Microapps平台,我们建议您使用表格页,为您的第一次数据同步筛选实体,以加快同步速度。有关更多信息,请参见验证所需实体.有关同步规则、不符合其计划的同步和否决规则的完整信息,请参见同步数据.
有关API端点和表实体的详细信息,请参见ServiceNow HTTP连接器规范或ServiceNow连接器规范.
使用ServiceNow微应用
现有的应用程序集成带有开箱即用的微应用程序。从这些微程序开始,根据你的需要定制它们。
请注意
我们提供了两个ServiceNow集成模板供您使用。我们建议在大多数用例中使用较新的HTTP集成,而不是旧的基于java的集成。它们包含的微应用程序略有不同。
HTTP服务现在微应用程序
我们的HTTP ServiceNow集成带有以下预配置的开箱即用微应用:
变更请求:搜索变更请求,查看它们的详细信息,添加注释,并更新它们。
通知或页面 | 用例的工作流 |
---|---|
变更请求分配通知 | 当将现有的变更请求分配给用户时,他们会收到通知。 |
变更请求受让人变更(由)通知打开 | 当变更请求的受让人发生变更时,为其创建请求的用户将收到通知。 |
变更请求受让人变更通知 | 当变更请求的受让人发生变更时,发出该请求的用户将收到通知。 |
变更请求状态变更(分配给)通知 | 当变更请求的状态被修改时,分配给该请求的用户将收到通知。 |
变更请求状态变更(由)通知打开 | 当更改请求的状态被修改时,打开该请求的用户将收到通知。 |
变更请求状态变更(由)通知请求 | 当变更请求的状态被修改时,为其创建请求的用户将收到通知。 |
新变更请求分配通知 | 当新的变更请求分配给用户时,他们会收到通知。 |
更改请求详细信息页面 | 提供包含详细信息的更改请求的只读视图。 |
评论更改请求页面 | 提供对变更请求进行注释的表单。 |
我的Open Change Requests页面 | 允许用户搜索分配给他们的、由他们请求的或由他们打开的开放变更请求。 |
更新变更请求页面 | 提供用于更新更改请求的表单。 |
事件:搜索事件、查看其详细信息、添加评论并更新它们。
通知或页面 | 用例的工作流 |
---|---|
事件分配通知 | 当将现有事件分配给用户时,他们会收到通知。 |
事件受让人变更(呼叫方)通知 | 当事件的受让人发生更改时,报告该事件的用户将收到通知。 |
事件受让人变更(由)通知打开 | 当事件的受让人发生更改时,打开事件的用户将收到通知。 |
事件状态更改(分配给)通知 | 当事件的状态被修改时,事件分配给的用户将收到通知。 |
事件状态更改(调用方)通知 | 当事件的状态被修改时,报告该事件的用户将收到通知。 |
事件状态更改(由)通知打开 | 当事件的状态被修改时,打开事件的用户会收到通知。 |
新事件分配通知 | 当将新事件分配给用户时,他们会收到通知。 |
评论事件表单页面 | 提供对事件进行评论的表单。 |
“事件详情”页面 | 提供带有详细信息的事件的只读视图。 |
我的开放事件页面 | 允许用户搜索分配给他们、由他们请求或由他们报告的开放事件。 |
更新事件页面 | 提供用于更新事件的表单。 |
问题:搜索问题、查看其详细信息、添加注释并更新它们。
通知或页面 | 用例的工作流 |
---|---|
新问题分配通知 | 当新问题分配给用户时,他们会收到通知。 |
问题分配通知 | 当将现有问题分配给用户时,他们会收到通知。 |
变更(由)通知打开 | 当问题的受让人更改时,打开问题的用户将收到通知。 |
问题状态更改(分配给)通知 | 当问题的状态被修改时,问题分配给的用户将收到通知。 |
问题状态更改(由)通知打开 | 当问题的状态被修改时,打开问题的用户会收到通知。 |
评论问题页面 | 提供对问题进行注释的表单。 |
我的打开问题页面 | 允许用户搜索分配给他们或由他们打开的开放问题。 |
问题详细信息页面 | 提供带有详细信息的问题的只读视图。 |
更新问题页面 | 提供用于更新问题的表单。 |
请求批准:搜索和查看挂起的审批,并批准或拒绝它们。
通知或页面 | 用例的工作流 |
---|---|
新批准请求(请求项)通知 | 当请求或变更请求的批准分配给用户时,他们会收到一个可操作的通知,通知他们可以批准或拒绝。 |
新批准请求(问题)通知 | 当一个问题的批准被分配给用户时,他们会收到一个可操作的通知,告知他们可以批准或拒绝。 |
待处理请求审批页面 | 允许用户搜索分配给他们的待处理审批。 |
请求审批详情页面 | 提供待定审批的可操作视图,其中包含可批准或拒绝的详细信息。 |
提交变更请求:选择项目并提交新的变更请求。
通知或页面 | 用例的工作流 |
---|---|
提交变更请求页面 | 提供提交变更请求的表单。 |
提交委托:提交一个新的委托。
通知或页面 | 用例的工作流 |
---|---|
提交委托页面 | 提供用于提交新委托的表单。 |
提交事件:提交一个新的事件。
通知或页面 | 用例的工作流 |
---|---|
提交事件页面 | 提供提交新事件的表单。 |
提交的问题:提交一个新问题。
通知或页面 | 用例的工作流 |
---|---|
提交问题页面 | 提供提交新问题的表单。 |
基于java的ServiceNow微应用
我们基于java的ServiceNow集成带有以下预配置的开箱即用微应用:
批准:搜索和查看挂起的审批,并批准或拒绝它们。
通知或页面 | 用例的工作流 |
---|---|
新批准请求通知 | 当一个新的审批请求被分配给用户时,他们会收到一个可操作的通知,告知他们可以批准或拒绝。 |
审批请求详情页面 | 提供待定审批的可操作视图,其中包含可批准或拒绝的详细信息。 |
待处理请求页面 | 允许用户搜索分配给他们的待处理审批。 |
变更请求:搜索变更请求,查看它们的详细信息,添加注释,并更新它们。
通知或页面 | 用例的工作流 |
---|---|
变更请求分配通知 | 当将现有的变更请求分配给用户时,他们会收到通知。 |
变更请求受让人变更通知 | 当更改请求的受让人发生更改时,打开该请求的用户将收到通知。 |
Change Request State变更通知 | 当更改请求的状态被修改时,打开该请求的用户将收到通知。 |
新变更请求分配通知 | 当新的变更请求分配给用户时,他们会收到通知。 |
更改请求详细信息页面 | 提供包含详细信息的更改请求的只读视图。 |
评论更改请求表单页面 | 提供对变更请求进行注释的表单。 |
我的Open Change Requests页面 | 允许用户搜索分配给他们的开放变更请求。 |
更新变更请求表单页面 | 提供用于更新更改请求的表单。 |
事件:搜索事件、查看其详细信息、添加评论并更新它们。
通知或页面 | 用例的工作流 |
---|---|
事件分配通知 | 当将现有事件分配给用户时,他们会收到通知。 |
变更通知 | 当事件的受让人发生更改时,打开事件的用户将收到通知。 |
事件状态更改通知 | 当事件的状态被修改时,打开事件的用户会收到通知。 |
新事件分配通知 | 当将新事件分配给用户时,他们会收到通知。 |
评论事件表单页面 | 提供对事件进行评论的表单。 |
“事件详情”页面 | 提供带有详细信息的事件的只读视图。 |
我的开放事件页面 | 允许用户搜索分配给他们的开放事件。 |
更新事件表单页面 | 提供用于更新事件的表单。 |
问题:搜索问题、查看其详细信息、添加注释并更新它们。
通知或页面 | 用例的工作流 |
---|---|
新问题分配通知 | 当新问题分配给用户时,他们会收到通知。 |
问题分配通知 | 当问题的受让人发生变化时,受让人会收到通知。 |
变更通知 | 当问题的受让人更改时,打开问题的用户将收到通知。 |
问题状态更改通知 | 当问题的状态被修改时,打开问题的用户会收到通知。 |
评论问题表单页面 | 提供对问题进行注释的表单。 |
我的打开问题页面 | 允许用户搜索分配给他们的开放问题。 |
问题详细信息页面 | 提供带有详细信息的问题的只读视图。 |
更新问题表单页面 | 提供用于更新问题的表单。 |
提交目录请求:选择项目并提交新的目录请求。
通知或页面 | 用例的工作流 |
---|---|
选择项目页面 | 允许用户搜索目录并选择可用的项目。 |
提交目录请求页面 | 提供用于提交目录请求的表单。 |
提交变更请求:提交一个新的变更请求。
通知或页面 | 用例的工作流 |
---|---|
提交变更请求页面 | 提供提交变更请求的表单。 |
提交委托:提交一个新的委托。
通知或页面 | 用例的工作流 |
---|---|
提交委托页面 | 提供用于提交新委托的表单。 |
提交事件:提交一个新的事件。
通知或页面 | 用例的工作流 |
---|---|
提交事件页面 | 提供提交新事件的表单。 |
提交的问题:提交一个新问题。
通知或页面 | 用例的工作流 |
---|---|
提交问题页面 | 提供提交新问题的表单。 |