集成 ServiceNow

与 ServiceNow 集成以提交和监控请求,并从任何设备、内部网或信使执行操作。

注意

我们提供两个 ServiceNow 集成模板供您使用。对于大多数用例,我们建议使用较新的 HTTP 集成。HTTP 集成提供了更多功能来配置缓存的数据结构。每个集成的设置过程是相同的。有关每个集成中可用的微应用的完整详细信息,请参阅使用 ServiceNow 微应用

使用以下过程启用 ServiceNow 集成。确保满足必备条件、启用 API 访问并为专用用户分配角色。完成此过程后,您的现有审核日志记录级别将持续存在,包括使用 Citrix 微应用执行的任何操作。

此集成使您能够:

  • 在“Workspace 体验”中创建任务。该解决方案根据当前登录的用户向 API 请求添加一个“opened_in”参数。如果您在服务操作参数设置中明确定义了“opened_in”参数,则会替换默认值
  • 批准微应用中的请求。解决方案将 user_name 设置的句子“批准状态”添加到注释字段,以确定执行批准的人员
  • 从微应用创建新的服务目录请求。该解决方案将“requested_in”参数添加到基于当前登录用户的 API 请求中

有关现成的 ServiceNow 微应用的完整列表,请参阅使用 ServiceNow 微应用

检查必备项

这些必备条件假定您管理组织的 ServiceNow 实例以设置集成。

工作区用户需要分配适当的角色才能完成服务操作。正确的角色取决于您的 ServiceNow 配置。

您必须具有以下详细信息才能在 Citrix Workspace 微应用中添加集成:

  • 实例 URL
  • 用户名
  • 密码

对于 OAuth 2.0:

  • 客户端 ID
  • 客户端密钥

注意

建议您始终使用 OAuth 2.0 作为服务身份验证方法(如果可用)。OAuth 2.0 可确保您的集成符合您配置的微应用的最大安全合规性。

  • 获取新的 oauth2 client_id 和 client_secret,并定义客户端应用程序的范围。

  • 将 Citrix Gateway 配置为支持 ServiceNow 的单点登录,以便在用户登录后,他们将自动重新登录,而无需再次输入凭据。请按照 ServiceNow 单点登录配置 中的说明进行操作。有关配置 SSO 的详细信息,请参阅Citrix Gateway 服务

新的 HTTP 集成权限

您的 ServiceNow 管理员帐户必须具有对我们在集成中获取的所有表的读权限。请参阅下面的列表:

  • change_request
  • incident
  • problem
  • sc_cat_item
  • sys_user
  • task
  • 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 管理员帐户必须将时区设置为 GMT。这对于在工作区和增量数据同步中纠正时间处理是必需的。如果您看到任何时间不匹配,请首先检查这些设置以解决问题。

传统集成权限

ServiceNow 管理员帐户必须具有完全的数据访问权限。如果您选择使用单独的 ServiceNow 帐户进行微应用集成,则需要手动添加受限表的读取权限,例如 sys_journal_field。具体而言,管理员需要访问以下表格,因为它们包含有关 ServiceNow 数据结构的信息:

  • sys_db_object
  • sys_dictionary
  • sys_choice

启用所需表的 API 访问

默认情况下,大多数 ServiceNow 表都启用,以便通过 Web 服务访问。要确认是否可以通过 Web 服务访问要与 Workspace 同步的表,请执行以下操作:

  1. 登录到 ServiceNow。
  2. 选择系统定义 > 表
  3. 选择要确认的表名旁边的信息图标。选择打开记录。选择应用程序访问选项卡,并确保“允许通过 Web 服务访问此表”复选框已启用。
  4. 如有必要,选中该复选框,然后单击更新以保存您的设置。

添加回调 URL

向您的实例配置添加自定义 URL,以授予对私有数据的访问权限并启用OAuth 身份验证的用户操作。

注意

URL {yourmicroappserverurl} 的这一部分由租户部分、区域部分和环境部分组成:https://{tenantID}.{region(us/eu/ap-s)}.iws.cloud.com

  1. 以管理员身份登录到 ServiceNow。
  2. 导航到系统 OAuth > 应用程序注册表,然后选择新建
  3. 选择为外部客户端创建 OAuth API 端点
  4. 在以逗号分隔的“重定向 URL”字段中输入此集成的以下授权 重定向 URL

    • https://{yourmicroappserverurl}/admin/api/gwsc/auth/serverContext
    • https://{yourmicroappserverurl}/app/api/auth/serviceAction/callback

    确保未选择所需的 PKCE

  5. 单击 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 微应用

将 ServiceNow 集成添加到 Citrix Workspace 微应用以连接到您的应用程序。这样可以提供现成的微应用,以及可以在 Workspace 内使用的预配置通知和操作。我们提供两个 ServiceNow 集成模板供您使用。对于大多数用例,我们建议使用较新的 HTTP 集成。

添加 ServiceNow HTTP 集成

请按照以下步骤设置 ServiceNow HTTP 集成。身份验证选项已预先选择。确保在完成此过程时选择了这些选项。我们建议在大多数用例中使用此更新的 HTTP 集成。HTTP 集成提供了更多功能来配置缓存的数据结构。

请按照以下步骤进行操作:

  1. 微应用集成页面中,选择添加新集成,然后选择从 Citrix 提供的模板添加新集成
  2. 选择 ServiceNow 磁贴。
  3. 输入集成的集成名称
  4. 输入连接器参数
    • 输入实例基本 URL,或者在示例中仅用您的客户 ID 替换 {customer-id}
    • 从图标库中选择集成的图标,或将其保留为默认 ServiceNow 图标。

    ServiceNow HTTP 参数

    • 如果要创建本地连接,请启用本地实例开关。有关详细信息,请参阅本地实例

    内部 ServiceNow HTTP

  5. 服务身份验证下,从身份验证方法菜单中选择 OAuth 2.0,然后填写身份验证详细信息。使用 OAuth 2.0 安全协议为委派访问生成请求/授权令牌。建议您始终使用 OAuth 2.0 作为服务身份验证方法(如果可用)。OAuth 2.0 可确保您的集成符合您配置的微应用的最大安全合规性。

    1. 从“授予类型”菜单中选择“资源所有者密码”。提供正确的凭据以授权资源服务器提供访问令牌。
    2. 令牌授权菜单中选择请求正文
    3. 输入您的令牌 URL 或简单地在示例中将 {customer-id} 替换为您的客户 ID。这是访问授权令牌的 URL。
    4. 输入您的用户名密码。这些是具有访问完整表结构和 ServiceNow 中所有表的服务帐户的凭据。
    5. 输入您的客户端 ID。客户端 ID 是表示授权服务器唯一的客户端注册信息的字符串。
    6. 输入您的客户端密钥。客户端密钥是设置目标应用程序集成时发出的唯一字符串。
    7. 输入您的标题前缀。(可选)如果持有者前缀与默认标题不同,请输入标题前缀。

      ServiceNow HTTP 服务身份验证

    8. 如果选择了 OAuth 2.0 身份验证方法,则可以选择 + 添加参数以包含访问令牌参数。访问令牌参数根据目标应用程序授权服务器的要求定义访问令牌参数(如有必要)。

    ServiceNow HTTP 令牌

  6. 服务操作身份验证下,启用在操作中使用单独用户身份验证开关。服务操作身份验证在服务操作级别进行身份验证。

    1. 从“身份验证方法”菜单中选择“OAuth 2.0”,然后完成身份验证详细信息。
    2. 授权类型菜单中选择授权代码。这将授予客户端交换访问令牌的临时代码。代码从授权服务器获取,您可以在其中查看客户端请求的信息。只有此授权类型才能启用安全用户模拟。这将显示您在注册应用程序时使用的回调 URL
    3. 令牌授权菜单中选择请求正文
    4. 输入您的授权 URL 或简单地在示例中将 {customer-id} 替换为您的客户 ID。这是设置目标应用程序集成时提供的授权服务器 URL。
    5. 输入您的令牌 URL 或简单地在示例中将 {customer-id} 替换为您的客户 ID。这是访问授权令牌的 URL。
    6. (可选)输入您的作用 以定义访问请求的范围。此字符串由授权服务器在设置目标集成应用程序时定义。
    7. 输入您的客户端 ID。客户端 ID 是表示授权服务器唯一的客户端注册信息的字符串。您可以通过在您的 ServiceNow 帐户中注册 OAuth 客户端来收集这些信息和密码。您需要添加集成配置页面上看到的回调 URL
    8. 输入您的客户端密钥。客户端密钥是设置目标应用程序集成时发出的唯一字符串。
    9. (可选)如果持有者前缀与默认标题不同,请输入您的标题前缀
    10. 如果选择了 OAuth 2.0 身份验证方法,则可以选择 + 添加参数以包含访问令牌参数。访问令牌参数根据目标应用程序授权服务器的要求定义访问令牌参数(如有必要)。

    ServiceNow HTTP 服务操作身份验证

  7. (可选)如果要激活此集成的速率限制,请启用请求速率限制开关并设置每个时间间隔请求数
  8. (可选)启用日志记录开关以保留 24 小时的日志记录以供支持。

    速率限制和记录切换

  9. 选择保存

添加旧式集成

按照以下说明设置旧版基于 java 的 ServiceNow 集成。

请按照以下步骤进行操作:

  1. 从概览页面中,选择开始

    此时将打开“管理集成”页面。

  2. 选择添加新集成,然后选择从 Citrix 提供的模板中添加新集成
  3. 选择 ServiceNow 磁贴。
  4. 输入集成的名称。

    ServiceNow 连接器参数、URL、用户名、密码、身份验证方法、连接数

  5. 输入作为必备条件收集的连接器参数
    • 输入您的 URL
    • 输入用户名密码
    • 选择身份验证方法。使用 OAuth 2.0 安全协议为委派访问生成请求/授权令牌。
    • 对于 Oauth 2.0,输入您在必备条件过程中收集的 OAuth 客户端 IDOAuth 客户端密钥
    • 输入 ServiceNow 连接数量的数量。此值确定数据同步启动的字符串数。

      注意: 默认连接数为三个。打开更多连接可减少数据同步的时间,但会增加 微应用服务器上的负载,并会影响其性能。如果您需要,我们建议不超过 10。

    • 如果您希望拥有已关闭请求的列表(例如,或设置为 active = false 的其他数据),请选择下载非活动数据的单选按钮。
  6. 选择添加

微应用集成页面将打开,其中包含您添加的集成及其微应用。在这里,您可以添加另一个集成,继续设置现成的微应用,或者为此集成创建一个新的微应用。

现在,您可以设置和运行第一个数据同步。由于可以将大量数据从集成应用程序提取到 微应用平台,因此我们建议您使用页面筛选第一次数据同步的实体,以加快同步速度。有关详细信息,请参阅验证所需实体。有关同步规则、不符合其计划的同步以及否决规则的完整信息,请参阅 同步数据

有关 API 端点和表实体的更多详细信息,请参阅 ServiceNow HTTP 连接器规格ServiceNow 连接器规格

使用 ServiceNow 微应用

现有的应用程序集成带有现成的微应用。从这些微应用开始,并根据您的需求定制它们。

注意

我们提供两个 ServiceNow 集成模板供您使用。我们建议在大多数用例中使用较新的 HTTP 集成,而不是旧的基于 Java 的集成。它们包含的微应用程序略有不同。

HTTP ServiceNow 微应用

ServiceNow HTTP 微应用

我们的 HTTP ServiceNow 集成带有以下预配置的现成微应用:

更改请求: 搜索更改请求、查看更改详细信息、添加注释并更新更新。

通知或页面 用例工作流
更改请求已分配通知 将现有变更请求分配给用户时,他们会收到通知。
变更请求受分配人更改(打开者)通知 更改更改请求的受让人时,为其创建请求的用户会收到通知。
变更请求受分配人更改(请求)通知 当变更请求的受让人发生更改时,发出请求的用户将收到通知。
更改请求状态更改(分配给)通知 修改变更请求的状态时,分配给请求的用户将收到通知。
更改请求状态更改(打开者)通知 修改变更请求的状态后,打开该请求的用户将收到通知。
更改请求状态更改(请求者)通知 修改变更请求的状态时,为其创建请求的用户会收到通知。
新的变更请求已分配通知 将新的变更请求分配给用户时,他们会收到通知。
“更改请求详细信息”页面 提供包含详细信息的变更请求的只读视图。
“注释更改请求”页 提供对变更请求进行评论的表单。
“我的打开更改请求”页面 允许用户搜索分配给他们、他们请求的或他们打开的打开的更改请求。
“更新更改请求”页 提供用于更新变更请求的表单。

事件: 搜索事件、查看其详细信息、添加注释并更新它们。

通知或页面 用例工作流
事件分配通知 将现有事件分配给用户时,他们会收到通知。
事件受分配人更改(呼叫者)通知 当事件的受理人发生更改时,报告事件的用户将收到通知。
事件受分配人更改(打开者)通知 当事件的受理人发生更改时,打开事件的用户将收到通知。
事件状态更改(分配给)通知 修改事件状态后,事件分配给的用户将收到通知。
事件状态更改(呼叫者)通知 修改事件状态后,报告事件的用户将收到通知。
事件状态更改(打开者)通知 修改事件状态后,打开事件的用户将收到通知。
新的事件分配通知 将新事件分配给用户时,他们会收到通知。
“注释事件表单”页 提供对事件进行评论的表单。
事件详细信息页 提供具有详细信息的事件的只读视图。
“我的未开放事件”页面 允许用户搜索分配给他们、他们请求或他们报告的打开事件。
“更新事件”页 提供用于更新事件的表单。

问题: 搜索问题、查看问题详细信息、添加注释并更新它们。

通知或页面 用例工作流
新问题分配通知 将新问题分配给用户时,他们会收到通知。
已分配问题通知 将现有问题分配给用户时,他们会收到通知。
问题工作负责人更改(打开者)通知 当问题的工作负责人发生变化时,打开问题的用户会收到通知。
问题状态更改(分配给)通知 修改问题状态后,分配给问题的用户将收到通知。
问题状态更改(打开者)通知 修改问题状态后,打开问题的用户会收到通知。
“注释问题”页 提供对问题进行评论的表单。
“我的打开问题”页面 允许用户搜索分配给他们或他们打开的未解决问题。
“问题详细信息”页面 提供包含详细信息的问题的只读视图。
“更新问题”页 提供用于更新问题的表单。

请求审批: 搜索和查看待定审批,并批准或拒绝它们。

通知或页面 用例工作流
新审批请求(请求物料)通知 将对请求或更改请求的批准分配给用户后,用户会收到可操作的通知,通知他们可以批准或拒绝。
新批准请求(问题)通知 将问题的批准分配给用户时,他们会收到可操作的通知,通知他们可以批准或拒绝。
“待定请求批准”页 允许用户搜索分配给他们的待定批准。
请求批准详细信息页面 提供待决批准的可操作视图,其中包含他们可以批准或拒绝的详细信息。

提交变更请求: 选择物料并提交新的更改请求。

通知或页面 用例工作流
“提交更改请求”页 提供用于提交变更请求的表单。

提交委托: 提交新委托。

通知或页面 用例工作流
“提交委托”页 提供用于提交新委托的表单。

提交事件: 提交新事件。

通知或页面 用例工作流
“提交事件”页 提供用于提交新事件的表单。

提交问题: 提交新问题。

通知或页面 用例工作流
“提交问题”页面 提供用于提交新问题的表单。

基于 Java 的 ServiceNow 微应用

ServiceNow 微应用

我们基于 Java 的 ServiceNow 集成附带了以下预配置的开箱即用微应用:

审批: 搜索和查看待定审批,并批准或拒绝它们。

通知或页面 用例工作流
新批准请求通知 将新的批准请求分配给用户时,他们会收到可操作的通知,通知他们可以批准或拒绝。
批准请求详细信息页 提供待决批准的可操作视图,其中包含他们可以批准或拒绝的详细信息。
“待定请求”页 允许用户搜索分配给他们的待定批准。

更改请求: 搜索更改请求、查看更改详细信息、添加注释并更新更新。

通知或页面 用例工作流
更改请求已分配通知 将现有变更请求分配给用户时,他们会收到通知。
变更请求受理人更改通知 更改更改请求的受让人时,打开该请求的用户将收到通知。
更改请求状态更改通知 修改变更请求的状态后,打开该请求的用户将收到通知。
新的变更请求已分配通知 将新的变更请求分配给用户时,他们会收到通知。
“更改请求详细信息”页面 提供包含详细信息的变更请求的只读视图。
“注释更改请求表单”页 提供对变更请求进行评论的表单。
“我的打开更改请求”页面 允许用户搜索分配给他们的打开的更改请求。
“更新更改请求表单”页 提供用于更新变更请求的表单。

事件: 搜索事件、查看其详细信息、添加注释并更新它们。

通知或页面 用例工作流
事件分配通知 将现有事件分配给用户时,他们会收到通知。
事件受理人更改通知 当事件的受理人发生更改时,打开事件的用户将收到通知。
事件状态更改通知 修改事件状态后,打开事件的用户将收到通知。
新的事件分配通知 将新事件分配给用户时,他们会收到通知。
“注释事件表单”页 提供对事件进行评论的表单。
事件详细信息页 提供具有详细信息的事件的只读视图。
“我的未开放事件”页面 允许用户搜索分配给他们的打开事件。
“更新事件表单”页 提供用于更新事件的表单。

问题: 搜索问题、查看问题详细信息、添加注释并更新它们。

通知或页面 用例工作流
新问题分配通知 将新问题分配给用户时,他们会收到通知。
已分配问题通知 当问题的受让人发生变化时,受让人会收到通知。
问题工作负责人更改通知 当问题的工作负责人发生变化时,打开问题的用户会收到通知。
问题状态更改通知 修改问题状态后,打开问题的用户会收到通知。
“注释问题表单”页 提供对问题进行评论的表单。
“我的打开问题”页面 允许用户搜索分配给他们的未解决问题。
“问题详细信息”页面 提供包含详细信息的问题的只读视图。
“更新问题表单”页 提供用于更新问题的表单。

提交目录请求: 选择物料并提交新的目录请求。

通知或页面 用例工作流
“选择项目”页 允许用户搜索目录并选择可用项目。
“提交目录请求”页 提供用于提交目录请求的表单。

提交变更请求: 提交新的变更请求。

通知或页面 用例工作流
“提交更改请求”页 提供用于提交变更请求的表单。

提交委托: 提交新委托。

通知或页面 用例工作流
“提交委托”页 提供用于提交新委托的表单。

提交事件: 提交新事件。

通知或页面 用例工作流
“提交事件”页 提供用于提交新事件的表单。

提交问题: 提交新问题。

通知或页面 用例工作流
“提交问题”页面 提供用于提交新问题的表单。
集成 ServiceNow