ServiceNow 快速指南



ServiceNow - 简介

ServiceNow 是一个基于云的平台,主要用于根据 ITIL 原则实现工作流程和流程自动化。但是,它高度可定制,也可以用于其他目的。ServiceNow 是一家美国公司,由 Fred Luddy 于 2004 年创立。它有一种独特的版本命名方式,以世界主要城市命名版本。ServiceNow 的最新版本是 Orlando。

ServiceNow 为组织提供了许多现成的解决方案、工作流程和产品。组织可以使用 ServiceNow 脚本和现有工具根据业务需求开发定制的应用程序和模块。

ServiceNow 的服务

ServiceNow 一些重要的产品和最广泛使用的服务解释如下:

IT 服务管理

ServiceNow 主要用作票务工具来管理事件、问题和变更。它具有许多高级功能、分析和洞察力,会影响 IT 的速度和交付。

人力资源管理

ServiceNow 可用于几乎所有人力资源交付服务,例如休假管理、时间表管理、员工文档管理、新员工入职管理、绩效管理等。

IT 资产管理

使用 ServiceNow,我们可以管理我们的硬件和软件资产以优化成本并提高效率。ServiceNow 具有许可证管理、保修管理、CI 管理、高级报告和洞察力等功能。

财务运营管理

ServiceNow 管理与财务结算相关的所有活动,并自动化财务流程。

除了上述产品外,ServiceNow 还提供 IT 业务管理、安全运营、虚拟聊天机器人等服务。

ServiceNow 使用在 Linux 上运行的 Java 和 Tomcat Web 服务器构建。尽管如此,要开发 ServiceNow 中的新模块和应用程序,JavaScript 知识就足够了。

ServiceNow 实例

ServiceNow 实例是一组数据库、应用程序、虚拟机、库组合在一起,为特定客户提供所需的服务。ServiceNow 客户实例构建在多实例架构上。

下图显示了多实例架构:

ServiceNow Instance

这里需要注意的重要一点是,每个客户都有一个单独的定制应用程序和单独的数据库,它们运行在共享硬件资源上。客户数据经过加密,因此完全安全。ServiceNow 的部署非常灵活,也可以在私有云中实现。

ServiceNow 还提供开发者实例,这是一个免费的社区版。ServiceNow 开发者实例的推出是为了促进 ServiceNow 的使用,并提供资源,以便开发人员/管理员可以学习、构建、增强和定制 ServiceNow 中的应用程序。

生成开发者实例

在本教程中,我们将使用 ServiceNow 开发者实例,我们也建议您按照以下步骤生成开发者实例:

步骤 1

访问 URL https://developer.servicenow.com/ 并点击注册。您将看到如下所示的屏幕。

Generating Developer Instance

步骤 2

ServiceNow 注册表单将打开。填写您的详细信息并点击提交,如下所示。

ServiceNow Registration

步骤 3

ServiceNow 将发送确认邮件。点击邮件中的链接以确认注册。请参考以下屏幕。

Confirmation Email

步骤 4

现在,登录您的 ServiceNow 帐户。您将看到以下仪表板。转到管理 → 实例。

Manage_Window

步骤 5

现在,点击请求实例。

Request Instance

步骤 6

点击 ServiceNow 的最新版本,然后点击请求实例。在本教程撰写时,最新版本是 Orlando。

Version of ServiceNow

大约需要 20 分钟才能准备好您的实例。在下一页,您将获得实例链接、管理员用户名和密码。点击实例链接并输入您的用户名和密码。登录后,您将需要更改 ServiceNow 提供的默认密码。

Username and Password

请记住,如果您连续 10 天不使用您的开发者实例,则它将变为非活动状态,您必须重新获取该实例。登录您的实例后,您将看到 ServiceNow 门户的第一个界面。

ServiceNow_portal

现在,您有了 ServiceNow 实例,您可以与本教程一起探索各种应用程序和功能。

ServiceNow 用户界面 (UI)

ServiceNow 用户界面 (UI) 由默认元素组成。该界面非常灵活,可以根据业务需求进行定制。ServiceNow UI 的概述如下:

ServiceNow User Interface (UI)

下面解释了 UI 中的所有组件。

横幅框架

横幅框架包含徽标、设置选项、用户个人资料、全局搜索栏以及在右侧栏之间切换对话和帮助的选项。

应用程序导航器

应用程序导航器允许我们浏览应用程序下所有应用程序和模块。我们可以在导航过滤器中输入应用程序或模块的名称,ServiceNow 将自动向我们显示所有匹配的应用程序和模块。

例如,“事件”是 ServiceNow 中的一个应用程序,“新建”是其下的一个模块,我们可以使用它为 BookWorm 有限公司创建新的事件。“打开”是事件应用程序中的另一个模块,它将列出所有打开的事件。

ServiceNow 提供了通过点击侧面的星号将应用程序或模块添加为收藏夹的选项。这对于轻松导航我们喜欢的应用程序或模块非常有用。

ServiceNow Management

侧边栏

侧边栏不是默认提供的。用户必须从横幅框架中激活它。侧边栏可以显示对话或帮助选项。使用对话功能,我们可以与同事聊天并浏览聊天历史记录。帮助选项允许我们参考管理员添加的支持文章。

ServiceNow Sidebar

内容框架

内容框架是 ServiceNow 门户的中心部分,它列出了应用程序和模块的全部内容。这还包含应用程序的集中式菜单,从管理的角度来看,这些菜单很重要。以下是内容框架显示集中式菜单和显示事件应用程序中打开模块内容的示例。

Content Frame

Content Frame1

ServiceNow - 基础知识

让我们更进一步,学习一些 ServiceNow 的基础知识。在本章中,我们将学习用户/组/角色、列表、表单、应用程序、模块以及更多概念。

ServiceNow 开发者实例拥有大量虚拟数据,例如用户、事件、组等,我们可以参考这些数据来更好地理解这个概念。在本章的其余部分,我们将以我们旧的 BookWorm 有限公司为例,并尝试了解 ServiceNow 如何适应组织的内部运作。

应用程序和模块

ServiceNow 将**应用程序**定义为交付服务和管理业务流程的文件和数据的集合,而**模块**则是应用程序的子项,链接到平台中的其他页面或记录。

例如,我们有一个“事件”应用程序,它具有诸如“新建”之类的模块,用于为 BookWorm 有限公司任何部门创建新的事件。“打开”模块列出 BookWorm 有限公司内所有打开的事件(此模块可能仅对系统管理员可见)。

同样,还有其他重要的应用程序,如问题、变更、工作流等,以及其各自的模块,如“新建”、“打开”、“工作流编辑器”等。

Applications and Modules

列表和表单

在这里,您将了解 ServiceNow 中的列表和表单。

列表

它显示来自数据表的一组记录(基于某些条件)。它可以是从事件表中分配给特定组的事件列表,或者是从问题表中未分配给任何组的问题列表等。

以下是从事件表中已解决的事件的事件列表示例。

Lists

此列表是通过“事件”应用程序的“已解决”模块生成的。这是 ServiceNow 提供的默认模块。要打开此模块并浏览此列表,请在应用程序导航器中搜索“事件”,并在“事件”应用程序中找到“已解决”模块。

表单

它显示数据表中的一条记录,或者可用于在数据表中输入/更新记录。例如,事件表单将显示与单个选定事件相关的详细信息,也可用于在事件表中输入新事件的详细信息。

分别显示现有事件记录详细信息的表单和输入新事件记录详细信息的表单如下所示。

Forms

Forms1

要访问上述示例中的第一个表单,请转到“事件”应用程序中的“已解决”模块。将出现已解决事件的列表。点击任何事件编号以打开表单。上述示例中的第二个屏幕(包含用于输入新事件详细信息的表单)可以通过“事件”应用程序的“新建”模块访问。

用户、角色和组

下面详细解释了 ServiceNow 中的用户、角色和组。

用户

是在组织内使用 ServiceNow 的个人。系统管理员有权创建新用户、浏览现有用户列表、删除用户和模拟用户。

要打开现有用户的列表,请转到“用户管理”应用程序内的“用户”模块。

(在应用程序导航器中搜索用户,然后单击“用户管理”下的“用户”)

Users

要创建新用户,请单击内容框架左上角的“新建”按钮。随后将打开表单,用于输入用户表的新数据记录。

Users1

系统管理员还可以模拟用户,这意味着系统管理员可以以其他用户的身份登录 ServiceNow。在横幅框架中有一个选项,可以模拟任何其他用户。

Users2

角色

与用户在组织内执行的任务相关联。角色是根据工作职能分配的。例如,可以有事件经理角色、应用程序开发人员角色、事件分析师角色等。

角色控制对应用程序和模块中功能和能力的访问。因此,系统管理员角色可能可以访问事件经理角色可能无法访问的一些应用程序。“系统安全”应用程序下的“用户和组”中可以找到角色列表和添加新角色的表单。

Roles

组是执行类似任务的用户集合。例如,可以有一组变更经理,他们可以批准生产中的变更,或者可以有一个采购组,他们有权提出采购订单等。可以通过“系统安全”→“用户和组”→“组”访问该组。

最佳实践始终是将用户分配给组或反之亦然,然后将角色分配给组。通常,不建议直接将用户分配给角色。原因如下例所示:

假设在 BookWorm 有限公司(在 ServiceNow 中)的许多组中,有一个 IT 团队组,在 IT 团队下有一个“全栈工程师”子组。除此之外,还有几个角色,即“后端 IT 服务”和“前端 IT 服务”。全栈工程师需要同时分配这两个角色,以便他们拥有前端和后端 IT 服务的访问权限和许可证权限。

一位精通后端技术和前端技术的全栈工程师加入了 BookWorm 有限公司。因此,与其分别将此用户分配给两个角色(后端 IT 服务和前端 IT 服务),不如创建一个全栈工程师组,并将此组分配给两个角色,即后端 IT 服务和前端 IT 服务,这将是一个好主意。

现在,对于所有加入 BookWorm 有限公司的全栈工程师,管理员只需将该全栈工程师用户分配给全栈工程师组(IT 团队的子组)即可。

让我们在 ServiceNow 中实际实现上述示例,以更好地理解此概念。

实践

首先,我们将创建一个组,即 IT 团队及其子组全栈工程师。在导航过滤器中,搜索“用户管理”,然后选择“用户管理”下的“组”模块。内容框架中将打开以下屏幕。

Practical

单击“新建”按钮并提供详细信息。仅“名称”足以识别组。您还可以提供组电子邮件并从用户列表中选择经理。“父级”标签用于在组中创建分层结构,因此对于 IT 团队组,我们可以将其留空;对于“全栈工程师”组,我们可以将 IT 团队组指定为父级。

Practical1

既然我们已经创建了组,让我们继续创建两个角色——后端 IT 服务和前端 IT 服务,这些角色将分配给“全栈工程师”组。在“用户管理”中,转到“角色”模块。

Full stack engineers

单击“新建”按钮并提供角色的名称。将应用程序保留为“全局”,以允许此角色在 ServiceNow 中的每个应用程序中实现。“授予提升的权限”意味着分配给此角色的用户将获得比标准用户更多的访问权限/权限。他们可能需要管理某些功能。

Roll New Record

现在,我们必须将这些角色分配给我们的组。再次转到“组”模块,并在“新建”按钮旁边的内容框架顶部搜索我们的组“全栈工程师”。

Groups Module

打开组“全栈工程师”,您现在将看到一个新的部分来添加角色或组成员。在“角色”选项卡中,单击“编辑”按钮,将出现以下屏幕。

Groups Members.

在集合框中搜索我们刚刚创建的角色“前端 IT 服务”。选择角色并单击箭头按钮将角色添加到此组。最后,按“保存”按钮。您将返回组模块的主屏幕。使用右上角的“更新”按钮更新记录。同样,对后端 IT 团队服务重复此过程。

让我们继续在 ServiceNow 中添加一些用户。导航到“用户管理”应用程序中的“用户”模块,然后单击“新建”按钮。

User Administration.

输入新用户的详细信息,然后按“提交”按钮。同样,您可以添加更多用户。我们在这里添加了两个新用户,John Newman 和 Cindy Davis。

Press Submit Button

要将组“全栈工程师”分配给这些用户,请再次打开新创建的用户,然后滚动到用户的底部。您将看到一个新的部分,用于向此用户添加角色或组。

New Section

转到“组”选项卡,然后单击“编辑”按钮。将出现以下屏幕:

Click on Edit Button

在集合框中搜索组“全栈工程师”,选择组并单击箭头按钮将此组添加到用户 John Newman。对 Cindy Davis 重复类似的过程。因此,最终我们创建了用户、组和角色。然后我们将角色添加到组,并将组添加到用户。

表、列和字段

让我们学习 ServiceNow 中的表、列和字段是什么。我们将从了解表开始。

表是 ServiceNow 中的数据集合。应用程序和模块使用表来存储、显示和处理数据。例如,“事件”应用程序有一个事件表。同样,还有用户表、变更请求表等。

要检查或更新任何表的结构,请使用“系统定义”应用程序的“表”模块。

Tables

可以在内容屏幕的顶部区域搜索表名。

让我们探索事件表。单击所需的表后,我们可以找到表中的所有列、列类型(整数、字符串等)、最大长度等。可以使用“新建”按钮向表中添加新列。

Tables Incident

这里需要注意的重要一点是,表中的每一行都指向唯一的记录。例如,如果在 BookWorm 有限公司为全栈工程师组报告数据库连接问题而提出了事件 **IN3325643**,则将在事件表中添加一个新行,该行特定于事件记录 **IN3325643**。

要在表中浏览数据,请在导航栏中搜索“<tablename>.list”(在本例中为 incident.list)。

Incident List

如果我们关注此事件记录,则此记录中的每一列都表示具有特定值的字段。例如,此事件记录 **IN3325643** 的“呼叫者”列为 Abel Tuter,这是此记录的字段之一。要打开任何记录,请从列表中单击事件编号。

Incident Record

同样,您可以浏览其他表,例如用户、问题、变更等。我们甚至可以根据业务需求为自定义应用程序创建新表。可以在“表”模块→内容框架顶部区域的“新建”按钮中创建新表。

ServiceNow - ITIL

**ITIL** 代表 **信息技术基础架构库**。它是由英国政府的中央计算机和电信机构 (CCTA) 在 1980 年代推出的。

ITIL 是一套书籍,其中规定了流程和最佳实践,以实现高效的 **IT(信息技术)服务管理 (ITSM)**,并阐述了在任何组织中交付端到端 IT 服务所需的所有活动。

ITIL 将服务定义为“通过促进客户想要实现的结果来为客户提供价值的一种方式,但无需拥有具体的成本和风险。”ITSM 指的是在组织内设计、交付和管理 IT 服务的系统方法。

ITIL 的阶段

ITIL 分为五个主要阶段。每个阶段都在服务生命周期中发挥着特定作用,并构成 ITIL 的框架。让我们简要了解一下每个阶段。

服务策略

这是 ITIL 的第一阶段,它奠定了新服务(或现有服务的变更)的蓝图。在此阶段准备服务的适当计划和路线图。在此阶段讨论服务的各个方面,例如价值创造、资源、能力、投资、投资组合等。

服务设计

这是 ITIL 的下一阶段,其中根据服务策略进行新服务或变更服务的架构设计。它还根据业务需求制定流程、策略和解决方案。

服务过渡

这是 ITIL 的第三阶段,此阶段的主要目标是规划、管理、构建和部署生产环境(现实世界)中的新 IT 服务或变更的 IT 服务。此阶段还起草风险管理和回滚计划。变更管理是服务过渡下的重要流程之一,稍后将对其进行解释。

服务运营

ITIL 的此阶段侧重于交付给客户的日常 IT 服务。它确保:每项 IT 服务都能高效交付,且不会(或尽可能减少)中断。此阶段引入了各种流程,如果服务中断,则需要执行这些流程,其中事件管理和问题管理是重要的流程。

持续服务改进 (CSI)

此阶段重点介绍可以采取的步骤,以提高服务的整体效率和性能。CSI 与所有其他阶段密切合作,并通过指标驱动的方法识别改进机会。

ITIL 中的流程

现在让我们了解 ITIL 中的三个主要流程。**变更管理**属于服务过渡,**事件管理**和**问题管理**属于服务运营。

变更管理

这是一种方法,指导如何准备、管理和支持服务的过渡。它处理组织内的任何类型的变更。可能是技术变更、流程变更、组织重组、与物理数据中心相关的变更、与软件相关的变更、与服务器相关的变更等。

在任何 ITIL 工具(如 ServiceNow、Remedy 等)中都会提出具体的变更请求来跟踪变更。变更请求会经历多个阶段,例如审查、批准、预算编制、文档编制等,这些阶段可能会因组织的策略而异。

事件管理

这是一种识别、分析、管理和恢复服务中断的方法。事件管理确保服务的性能达到标准,并尽快恢复服务质量的任何中断。

支持/服务台主管为报告的每一次中断在 ITIL 工具中提出具有唯一工单号的特定事件记录。相应的团队进一步分析和恢复服务,并相应地在 ITIL 工具中更新事件工单。

问题管理

问题管理的目的是查找重复事件的永久根本原因。问题管理减轻服务中重复事件的影响。根据 ITIL 实践,对于重复类型的事件,会提出问题记录。

相应的团队查找确切的根本原因,并提出服务的变更或修复方案,以永久解决事件。将为建议的修复/变更提出变更请求,并通过变更管理流程在生产环境中实施。

整个 ITIL 流程示例

让我们以一家名为“BookWorm有限公司”的初创企业为例,该公司通过其网站在线销售书籍。该公司计划在特定城市推出图书租赁服务。这项服务提供上门送书和退书的便利。该公司自成立以来一直采用ITIL框架,由于这是一项新服务,因此应经过ITIL的各个阶段。

服务策略

首先将服务提案提交给利益相关者。此阶段将讨论客户群、投资回报率 (ROI)、价格、市场调研、竞争对手和商业模式。

服务设计

各领域专家制定服务蓝图。在此阶段,将确定用于向客户交付服务的技术、订阅计划、付款方式、在线门户网站设计、交付和退货模式以及收费标准。

服务转换

此时,服务的范围和设计已确定。在服务转换阶段,开始准备实施服务。为新服务提出变更请求,并由各个团队开展软件开发、预算编制、审批、采购、库存管理等活动。最终确定服务的路线图,并为服务上线设定里程碑日期。

服务运营

服务现已投入生产,服务运营部门将跟踪和管理客户、用户或内部团队在服务交付过程中报告的每一个问题(无论是单次出现还是反复出现的问题)。

持续服务改进

在这个持续过程中,我们将识别改进服务的机会,例如,内部IT团队建议为其网站采用新的CMS(内容管理系统)工具,该工具提供改进的指标、轻松访问和增强的功能。

变更、事件和问题管理

下面讨论BookWorm有限公司在变更管理、事件管理和问题管理方面的示例:

BookWorm有限公司已将实施新的CMS作为持续服务改进的一部分。服务改进计划经历了ITIL的各个阶段——服务策略、服务设计、服务转换,最终新的CMS在生产环境中实施,并作为服务运营的一部分进行监控。新的CMS运行良好,并提供了增强的功能。

有一天,一位使用图书租赁服务的客户致电客户服务部门,报告说他选择了他们的基础套餐的月度订阅,但他的账单却是根据高级套餐收取的。客户服务主管在ITIL工具中为该问题创建了一个事件工单,并将其转发给相关团队。这是**事件管理阶段**。IT团队检查了该问题,直接从后端(数据库)更正了账单金额和套餐,并将事件标记为已解决。

随着时间的推移,多个客户报告了几个类似的事件。在通过后端手动调整解决问题后,IT团队决定找到永久的根本原因并解决此问题。他们在ITIL工具中为这个反复出现的事件打开了一个问题记录,并开始调查。这是**问题管理阶段**。调查后,团队发现其脚本中存在错误,并确定了脚本中需要更改的部分。

IT团队现在在ITIL工具中提出变更请求以修复新CMS的脚本,并开始进行代码更改。这是**变更管理阶段**。变更请求经过各种审批、优先级排序和预算阶段,最终根据商定的日期在生产环境中实施。

ServiceNow - 云服务

提供云计算服务的供应商称为云服务。“云计算”中的“云”指的是互联网。因此,**云计算是指通过互联网提供计算服务,例如存储、CPU、网络、RAM、服务器等**。然而,云计算多年来不断发展,从而提供了一系列服务,例如软件开发平台、工具、增强的基础设施管理等。

市场上的主要云服务提供商包括谷歌、亚马逊、IBM、甲骨文、SAP等。云计算的一个完美示例是谷歌文档。所有文档都存储在谷歌云中,您可以随时随地从任何设备访问您的文档,而无需在您的系统中安装任何特定软件(文档查看器/编辑器)。您的文档和您可以访问文档的应用程序都位于云中。

下图概述了云计算。

Cloud Services

云计算可以根据组织或个人的需求和业务需求以多种方式实施。云基础设施可以以多种方式设置,这些方式被称为云部署模型。

部署模型类型

部署模型类型如下:

公有云

这种类型的云可供公众免费使用。它可能是大型公司或政府组织拥有的,提供免费服务。例如:Gmail、Dropbox、Microsoft Azure等。

私有云

私有云专供单个组织用于其内部目的。它们通常伴随着防火墙,阻止公众使用该云。例如,一家大型跨国公司为其多个子公司或业务部门运营私有云,用于其内部计算/共享资源。

社区云

这是公有云和私有云之间的一种模式。只有选定的组织或具有相同业务线或相同议程的用户社区才能访问这种类型的云。例如,所有银行都维护一个公共云,其中包含贷款违约者的数据库,各银行之间共享该数据库以在发放新贷款时参考。

混合云

这种类型的云基础设施混合了上述任何部署模型(公有云、私有云和社区云)。例如,一家大公司维护一个公有云和私有云的混合云。公司的所有敏感信息,如未来战略、内部政策等,都存储在私有云中并由私有云处理,而产品详细信息、价格、订单等公共信息则在公有云中处理和存储。

云服务模型

还存在云服务模型,这些模型根据云服务提供商提供的服务进行分类。我们讨论了以下三种云服务模型:

基础设施即服务 (IaaS)

这是云服务的最低级别,客户只从云服务提供商那里获取计算资源或虚拟硬件,如存储、CPU、RAM等。客户完全拥有在云中管理应用程序、操作系统、软件、数据库等的权利。例如:Rackspace、Digital ocean等。

平台即服务 (PaaS)

这是IaaS的更高级别。在这里,除了计算资源/虚拟硬件之外,云服务提供商还提供操作系统、一些软件服务和工具。客户拥有使用这些软件服务/工具开发和维护应用程序的权利。例如:Google App Engine、Apache Stratos、ServiceNow等。

软件即服务 (SaaS)

此服务模型通过互联网提供完全可用的、随时可用的软件。服务提供商完全拥有管理软件、服务器、数据库、基础设施等的权利。SaaS服务可以是免费的,也可以按月/年付费。例如:Salesforce、Google Apps、ServiceNow等。

我们可以根据下图总结云的部署模型和服务模型。

Software as a Service

ServiceNow是一个高度灵活的应用程序,它提供PaaS和SaaS选项。其SaaS产品提供功能齐全的工作流程自动化和ITSM工具,而其PaaS产品允许用户根据业务需求在其现有套件之上开发自定义应用程序。我们将在后面的章节中详细学习这一点。

ServiceNow - 管理

ServiceNow管理涉及对组织的ServiceNow平台进行常规支持、管理和维护。

它还包括自定义用户界面、保持版本更新、配置应用程序和模块、管理安全性和用户访问、监控系统性能和进行定期健康检查、管理工作流程、UI策略、UI操作等。

ServiceNow管理员还负责设置ServiceNow,将初始数据加载到ServiceNow中,设置组、角色、用户、SLA等。

ServiceNow配置

ServiceNow的初始配置最佳方法是使用“ITSM引导设置”应用程序。通常,只有系统管理员才能访问ITSM引导设置应用程序。

ITSM引导设置提供一系列任务,可帮助您从头开始配置ServiceNow实例上的IT服务管理 (ITSM) 应用程序,包括公司名称、徽标、颜色组合、字体、横幅、表单布局、要在表单、列表中显示的字段等。

此外,ITSM引导设置还有助于配置主要应用程序,如事件、变更、问题等。要打开ITSM引导设置,请在导航栏中搜索ITSM,然后打开第一个搜索结果“ITSM引导设置”,然后单击“开始”按钮,如下所示。

ServiceNow Configuration

ITSM Guided Setup

整个设置被组织成公司、连接性、基础数据、CMDB等类别。我们必须使用交互式和引导式菜单逐个配置每个类别。每个类别的完成进度都会显示在内容框架旁边,并且总完成状态也会显示在内容框架的顶部。

我们可以按任何顺序配置类别,也可以跳过任何特定类别的配置。从头开始配置ServiceNow的任务非常庞大,因此我们可以将配置每个类别的任务分配给各个管理员用户。

Connectivity

引导设置中的步骤非常详细且不言自明。您可以尝试使用引导设置并尝试配置各种类别。每个类别中都有说明和帮助作为参考。

导入集

导入集用于从外部来源(如Excel、JDBC等)将数据导入ServiceNow。数据导入ServiceNow后,将映射到相关的ServiceNow表中。数据可以手动导入一次,或者我们可以安排定期自动导入。让我们借助示例逐一讨论这两种导入方式。

手动导入

可以使用“系统导入集”应用程序的“加载数据”模块手动导入数据。例如,我们必须在ServiceNow中导入5个组。在ServiceNow中存储组的表是sys_user_group。要浏览此表中的数据,只需在导航栏中键入“sys_user_group.list”。

Manual Import

假设我们在Excel中拥有五个组的数据,我们想将其上传到ServiceNow。

A B C
1 名称 说明 活动
2 Oracle DBA Oracle DBA的ITSM组 True
3 中间件 中间件团队的ITSM组 True
4 文件传输 文件传输团队的 ITSM 组 True
5 MQ MQ 团队的 ITSM 组 True
6 性能测试 性能测试团队的 ITSM 组 True

打开“系统导入集”应用程序的“加载数据”模块。在导入集表中,点击“创建表”,因为我们还没有任何现有的用于导入用户组的导入表。导入表基本上是中间表或暂存表。

当我们导入文件时,数据首先加载到此表中,然后我们可以将数据从此导入表加载到 ServiceNow 中的实际目标表(在本例中为 sys_user_group)。

然后,在“标签”字段中输入新表的名称。这里需要注意的重要一点是,所有由用户创建的表名称都以“u_”为前缀,而 ServiceNow 的所有系统表名称都以“sys_”为前缀。

从资源管理器中选择文件。此外,您可以提供与 Excel 中的选项卡对应的sheet编号和Excel中的表头行(列名)。在我们的例子中,两者都是“1”。最后,点击提交。

Load Data

Progress

流程完成后,您将看到上面的屏幕,状态为已完成,以及接下来需要执行的步骤。首先,让我们转到“下一步”下的“导入集”。

Import Set

您可以看到,导入集已创建,状态为“已加载”,这意味着 Excel 文件中的数据已加载到我们的中间表“u_user_group_import”中。您可以通过在导航栏中搜索 u_user_group_import.list 来检查此中间表中的数据。

现在让我们继续为这些导入的数据创建一个转换映射。在转换映射中,我们基本上创建了中间表和目标表(sys_user_group 系统表)之间的映射,这意味着中间表的哪一列对应于目标表的哪一列,以便可以相应地将数据加载到目标表中。

转到“系统导入集”应用程序下的“创建转换映射”模块,并为转换映射命名。选择源表(在本例中为 u_user_group_import)和目标表(为 sys_user_goup)。由于我们必须使此转换映射保持活动状态,请选中活动框并选中“运行业务规则”框。业务规则是一组规则,当对表进行任何插入或更新操作时,这些规则就会运行。

例如,如果用户未在字段中输入任何数据,则会自动设置默认值。如果您想在将数据插入目标表之前处理数据,您甚至可以提供您自己的脚本,为此请选中“运行脚本”框。

Table Transform Map

现在,我们已经创建了一个转换映射,我们可以将源表的列映射到目标表,或者允许 ServiceNow 为我们进行自动映射。转到“系统导入集”→“管理”→“转换映射”下的“转换映射”模块。

选择我们刚刚创建的转换映射,并检查“相关链接”部分。有两个选项:自动映射和映射辅助。点击“自动匹配字段”,您将在“字段映射”选项卡中找到所有自动完成的映射。

Field Map tab

您也可以通过单击“映射辅助”来手动进行映射。

Mapping Assist

让我们运行此转换映射以将数据加载到我们的目标表中。这是我们的最后一步。转到“系统导入集”中的“运行转换”模块。选择我们刚刚创建的转换映射,然后单击“转换”。

Transform Map

我们将看到以下显示……的屏幕。

Final Status of the Transformation

现在,我们将转到 sys_user_group 表,并检查我们的组是否已成功导入。

Imported Successfully

由于我们是第一次导入用户组,因此我们需要创建导入表、转换映射等。由于我们已经有导入表和转换映射,因此在所有后续的用户组导入中,这些工作量将减少。

计划数据导入

如果我们的 ServiceNow 从某些外部系统接收数据,则计划数据导入非常有用。ServiceNow 可以通过 FTP、HTTP、SCP 等连接到其他系统。我们也可以定期在 ServiceNow 中上传文件,以便计划的导入过程可以提取它。

让我们举一个例子,其中我们有一个基于 UNIX 的外部系统,它每天都会生成一个文件(在固定路径中),其中包含加入 BookWorm 有限公司的新员工的详细信息。

ServiceNow 应该从外部系统提取此文件,处理此文件,最后将数据导入 sys_user 表。让我们逐步实现这一点。首先,我们必须创建一个数据源,导航到“系统导入集”应用程序下的“数据源”模块。

提供数据源名称、导入集表(将创建新表)、ServiceNow 将提取的文件格式(CSV、XML、Excel、Jason 等)。这里,我们以 **csv** 为例,因此我们也必须提供 **csv 分隔符**,在我们的例子中为“,”(逗号)。现在选择文件检索方法,这里我们使用 FTP,并且我们必须提供服务器、文件可供提取的路径名、FTP 用户名和密码。

Data Source

单击提交按钮后,再次打开数据源,然后单击“相关链接”部分中的“测试加载 20 条记录”。ServiceNow 现在将尝试通过 FTP 测试加载记录,因此请确保文件存在于指定位置。

Related Link

现在,测试加载后,我们必须创建转换映射。导航到转换映射并单击新建以创建新的转换映射。提供我们在数据源定义期间创建的源表名称,并将目标表设置为 sys_user。

Navigate to Transform Map

提交后,打开新创建的转换映射并转到“相关链接”部分。在这里,您可以使用自动映射或使用映射辅助(用于手动映射),如果自动映射无法正确检测字段。

Related Links Sections

单击更新以确认映射。

现在,是时候创建计划导入。导航到“系统导入集”应用程序中的“计划导入”模块,然后单击新建以创建新的计划导入。选择我们已创建的数据源,并选择运行此计划导入的频率。可以是每日、每周、每月或定期。让我们将其设置为每天 08:00 运行。

Scheduled Import

单击提交,并在计划导入运行后检查用户表。数据应导入到 sys_user 表中。

User Table

SLA 配置

SLA 代表 **服务等级协议**,它是服务提供商和服务消费者(客户)之间达成的承诺或合同,也可以是组织内部各个部门之间的承诺。此合同明确规定了提供商应提供的服务级别、响应时间、事件解决时间、处罚(如有)、正常运行时间、系统性能等。

例如 - BookWorm 有限公司在其组织内实施了 ITIL,这样,在组织内报告的每个事件都应记录在 ServiceNow 中,并归类为以下四类之一:关键、高、中和低。

BookWorm 有限公司的 IT 部门和业务部门之间签署了一份 SLA,明确定义了每类事件的解决时间限制:

关键 - 6 小时,高 - 24 小时,中 - 48 小时,低 - 72 小时

这称为解决时间。类似地,还有一个响应时间 SLA,它定义了在 ServiceNow 系统中确认事件(或将事件分配给相应组)的时间限制。

关键 - 30 分钟,高 - 60 分钟,中 - 5 小时,低 - 8 小时。

为了定义 SLA,我们在“SLA 应用程序”中有一个名为“SLA 定义”的模块。要定义新的 SLA,请打开 SLA 定义模块并单击“新建”按钮。

SLA Definition

让我们在事件表中创建一个 SLA。我们也可以选择在其他表(如变更、问题等)中创建 SLA。首先,从关键事件的响应时间开始。提供 SLA 的名称,选择类型为 SLA,选择目标为响应,表为事件。工作流用于升级目的。

例如,如果 50% 的 SLA 时间已过,而事件未得到解决/确认,我们可以选择向该团队的领导发送警报电子邮件。然后,如果 75% 的 SLA 时间已过,我们可以选择向该团队的经理发送电子邮件,依此类推。我们将在下一节中更详细地了解工作流。

现在,选择持续时间为用户定义,并将持续时间设置为 30 分钟,因为它是针对关键事件的。然后选择计划,这意味着如果我们想计算 24x7 的 SLA 时间,则排除周末,仅排除周日等。

Critical Incident

现在让我们设置条件,以便此 SLA 附加到每个新的关键事件。向下滚动到下一节,在那里,您可以提供以下给出的启动条件:

  • 事件处于活动状态。

  • 事件是新的。

  • 事件的优先级为关键。

此外,对于停止条件,我们选择在事件被分配并移至“进行中”状态后停止 SLA。

Start Condition

Stop Condition

最后,单击提交。现在,我们将创建一个新的关键事件,并检查此 SLA 是否附加到该事件。

New Critical Incident

从事件列表中再次打开事件,然后向下滚动到“任务 SLA”部分。您可以看到,我们的新 SLA 已附加,并显示了违反响应 SLA 的剩余时间。

Tasks SLA

同样,也可以创建解决 SLA,之后,您可以在“任务 SLA”部分看到两个单独的 SLA,即响应和解决,附加到事件。

工作流

ServiceNow 将工作流定义为自动执行应用程序中流程的一系列活动。它基本上是一个流程图,记录了在发生所需事件后需要逐步触发的所有活动。让我们通过 BookWorm 有限公司的示例来理解这一点。

我们必须为分配给前端 IT 团队的每个变更请求添加一个新的工作流,该工作流包括两个活动:

  • 如果在变更请求中选择“前端 IT 团队”作为分配组,则应自动将“服务”字段中的值设置为“IT 服务”。

  • 前端 IT 团队的每个变更请求都需要其经理 Cristina Sharper 的批准。

对于工作流,我们有一个名为“工作流编辑器”的模块。在导航栏中搜索并点击“工作流编辑器”。点击“新建”以创建新的工作流。在这个屏幕中,我们也可以看到现有的工作流,并且可以编辑它们。您可以看到下面的屏幕:

New Workflow

输入工作流的名称以及需要为其创建工作流的表。我们也可以在此处设置工作流条件,但也可以稍后设置。

New Workflow1

现在,工作流已创建,让我们在此工作流中添加条件和活动。点击左上角菜单栏,然后转到“属性”。

Change Workflow Frontend Team

在“属性”中,转到“条件”选项卡,为触发工作流设置条件。在这里,我们将选择“如果指派组是前端IT团队”。我们可以添加多个条件,并用AND/OR组合。然后,点击“更新”。

Conditions Tab

在右侧框架中,转到“核心”选项卡。在这里,您将看到一系列活动,我们可以在工作流中添加这些活动,例如审批、条件、任务等。您可以继续尝试它们。在此示例中,我们将使用“审批用户”(在“审批”主要活动下)和“设置值”(在“实用程序”主要活动下)。

Approval User

首先,让我们将“设置值”拖到工作流中。拖动“设置值”活动后,将打开一个弹出窗口,我们必须提及需要设置值的字段。我们将选择“服务”字段,并将值设置为“IT服务”。

Workflow Activity

现在,您将在工作流中看到我们的活动,但是目前还没有任何箭头连接它。因此,首先,我们必须删除“开始”和“结束”活动之间的现有箭头,并在“开始”和“结束”之间插入我们的“设置值”活动。

选择“开始”和“结束”之间的现有箭头,然后点击键盘上的删除按钮。然后,从“开始”活动的黄色圆点拖动一个箭头到“设置值”活动。将生成一个新的箭头。

Workflow Activity1

现在,我们必须为审批用户添加另一个活动。拖动“审批用户”活动,并执行与上述相同的操作。

Approval User Activity

这就是我们最终工作流的样子:

final workflow

现在,点击左上角菜单栏,然后点击“发布”以使我们的工作流生效。

Workflow Live

发布后,我们的工作流将变为活动状态,当任何变更请求被分配给前端IT团队时,我们的新工作流将被触发。

通知

通知用于在发生某些事件(例如事件优先级的更改、事件状态的更改等)时通知或向用户发送警报。通知通常通过电子邮件发送。

首先,要开始设置通知,请检查 ServiceNow 中是否已配置电子邮件设置。转到系统邮箱的“电子邮件属性”模块,选中“启用电子邮件发送”框和“启用电子邮件接收”框。点击“保存”。

Email properties

现在,让我们创建一个通知,每当任何严重事件被分配给“前端IT团队”组时,都会向团队经理Cristina Sharper发送一封电子邮件。转到“系统通知”应用程序下的“通知”模块。

现在,输入通知的名称,以及为此通知创建的表,然后在“何时发送”选项卡下设置条件。

Notification

现在,转到“谁将接收”选项卡,并设置将接收电子邮件的用户。

Who will Receive Tab

最后,在“它将包含什么”选项卡中,我们可以输入电子邮件的主体/文本。

What it Will Contain Tab

现在,一旦任何严重事件被分配给前端IT团队,其经理将收到关于该事件的电子邮件通知。

报表和计划作业

报表用于根据 ServiceNow 中可用的数据创建报表。报表可以提供与事件、用户、变更、问题等相关的信息。我们可以以条形图、饼图、图形格式或根据业务需求生成报表。报表也可以根据定义的频率由计划作业自动生成。

让我们为 BookWorm 有限公司创建一个报表,其中前端IT团队的经理将收到每周报表(通过计划作业),其中包含分配给前端IT团队的严重、高、中和低优先级事件的数量。

让我们从创建报表开始。导航到“报表”应用程序下的“新建”模块。输入报表名称。在“源类型”中,选择表,因为我们必须从事件表中提取数据。最后,点击“运行”。您将看到表中的所有数据。

Create New Report

现在,我们可以添加过滤器来添加条件,以便仅提取基于我们需求的特定数据。

Create New Report1

点击“下一步”,然后选择所需的报表类型,例如条形图、饼图、时间序列等。我们将在这里使用条形图。选择条形图并点击“下一步”。

Select Type of Report

点击“下一步”,您现在就可以配置报表了。在“分组依据”选项中,我们将选择“优先级”,在“聚合依据”中,我们将选择“计数”。

Group of Report

点击“下一步”,系统将提示您自定义报表的样式。您可以更改条形的颜色、标题的字体、标题的位置等。

Customise the Report

最后,点击“保存”保存此报表。您可以使用右上角的按钮运行报表以查看结果。

Run your Report

接下来,我们必须使用计划作业每周安排此报表。转到“系统定义”应用程序下的“计划作业”模块,然后点击“新建”。

scheduled jobs

在下一个屏幕上,选择“自动化报表的生成和分发”。然后输入计划作业的名称,选择我们刚刚创建的报表,并添加接收报表的用户。更改“运行”字段以使其每周运行一次。我们还可以提供关于报表的介绍性消息。最后,点击“提交”。

Automate the Generation and Distribution

您可以在计划作业模块中报表的列表中找到此新报表。

服务目录

服务目录为用户提供自助服务机会。用户可以从列表(目录)中选择所需的服务并提交请求。它具有在线购物的外观和感觉,用户可以在购物车中添加服务(硬件、软件或任何其他列出的服务),最后订购它们。

我们还可以将项目捆绑在包中,然后直接订购包。例如,在 BookWorm 有限公司,如果前端IT团队的新成员加入,他/她可以简单地订购一个“前端IT套件”包,其中包含团队内使用的软件,例如Rational Developer、Notepad++、WinSCP和SQL Developer。

因此,用户将提出一个请求,其中包含四个项目(Rational Developer、Notepad++、WinSCP和SQL Developer)。对于每个项目,可能会有不同的任务,例如,采购团队可能需要获取软件的新许可证,然后IT团队需要在机器上安装软件,或者某些软件需要额外的审批等。

Service Catalogs

相应地,ServiceNow 服务目录中为此提供了三个表:

  • 请求表

  • 项目表

  • 任务表

所有这些表都是相互关联的,您可以在服务目录应用程序→打开记录模块中找到这些表。

Open Records Module

Open Records Module1

Open Records Module2

ServiceNow 提供了一些默认类别和项目。转到自助服务应用程序的服务目录模块。您可以在内容框架中找到服务目录的主页。

Self-service Application

让我们为 Microsoft Access 和 Cisco Jabber 提交一个示例请求。转到“软件”,然后点击“Microsoft Access”。您可以添加到购物车或直接订购该项目。

Microsoft Access

在这里,我们也必须添加 Cisco Jabber,因此我们将选择“添加到购物车”并继续购物。按照类似步骤添加 Cisco Jabber,最后点击“继续结账”。提交请求后,您将看到以下页面和三个表中的条目。

Add to cart

打开请求表并选择您的请求。您将看到附加到此请求的项目。点击项目,您将看到与该项目关联的任务。

Required Items

Required Items1

您还可以使用“我的目录”、“我的类别”和“我的项目”模块中的“目录定义”应用程序在 ServiceNow 中创建您自己的服务目录和项目。

诊断和故障排除

系统管理员的职责不仅限于应用程序和模块的设置和配置。系统管理员还负责通过参考日志、统计数据、内存利用率、CPU 使用率等来保证系统的性能和响应时间。

ServiceNow 提供了一个名为“系统诊断”的应用程序,它是许多对系统管理员有用的模块的集合。名为“诊断页面”的模块列出了服务器、数据库、统计数据等的完整配置。“诊断页面”分为四个主要部分:

  • 集群节点状态

  • 系统概述

  • 数据库概述

  • 数据库连接

集群是节点的集合,节点是负责存储和处理数据的单个系统。在集群节点状态部分,您将找到内存利用率、事务命中次数、登录用户、JVM 运行时间等的详细信息。系统概述部分列出了与事件、POP3、SMTP 等相关的详细信息。

数据库概述部分提供了与数据库版本、驱动程序、类型等相关的详细信息,最后,数据库连接提供了在 ServiceNow 中执行的查询的日志、连接详细信息等。

Diagnostics and Troubleshooting

Diagnostics and Troubleshooting1

另一个重要的应用程序是“性能分析”。其故障排除下的“诊断”模块列出了 ServiceNow 中接收到的每一个错误和异常。

Performance Analytics

点击任何错误以查找导致错误的底层脚本。

Diagnostics

ServiceNow - 开发

ServiceNow 提供了许多内置功能和应用程序,我们可以轻松地使用它们在任何组织中实现 ITSM。同时,也存在设置不同流程和功能的业务需求。ServiceNow 具有高度可定制性,开发人员可以使用 Javascript 原理轻松创建基于客户需求的应用程序和模块。

Javascript 是 ServiceNow 脚本编写的必要条件。在本节中,我们将概述 ServiceNow 开发。

应用程序创建概述

ServiceNow 提供了一个名为“Studio”的应用程序,您可以在其中创建新的应用程序,提供源代码,为您的应用程序创建新表等。“Studio”提供了一个引导式且易于使用的界面来创建新的应用程序。让我们为 BookWorm 有限公司的以下案例创建一个新的应用程序。

前端IT团队需要一个 ServiceNow 中的应用程序,管理员可以在其中发布轮班排班表(shift ROTA)。每个员工都有 6 小时的轮班,团队必须 24x7 全天候支持。

从导航器转到 Studio,将打开一个新窗口。点击“创建应用程序”。系统将提示您输入应用程序名称和说明。最后,点击“创建”。

Application Creation Overview

您将在下面找到应用程序页面。现在,是时候为我们的应用程序创建表了。转到“创建应用程序文件”。

Create Application File

在“数据模型”下点击“表”,然后点击“创建”。系统将提示您输入新表的详细信息。输入表的名称,并将其余详细信息保留为默认值。

Table New Record

现在向下滚动并开始定义这些表的列。我们有以下列定义,需要注意的重要一点是,我们在“成员”列中选择了 sys_user 的引用。

Table Columns

现在,点击“轮班”列,然后选择“创建选择列表”,因为在这里我们将创建轮班的选择,例如 6:00-12:00、12:00-18:00、18:00-24:00 和 24:00-6:00。

Create Choice List

因此,现在我们已经创建了表,我们的 Studio 应用程序如下所示。

Application Explorer

Studio 已自动为我们创建了表单、列表、模块和应用程序菜单。我们可以从“创建应用程序文件”选项创建其他模块、表、UI 等,就像我们创建 ROTA 表一样。

现在让我们看看我们的应用程序在 ServiceNow 中的样子。在导航栏中搜索 Frontend_IT_ROTA,然后转到我们的新模块。

让我们继续在我们的应用程序中添加一些新的 ROTA 记录。点击“新建”按钮。

Service Management

Service Management1

Service Management2

UI策略和操作

ServiceNow 将 UI 策略定义为一种工具,通过它我们可以动态地更改表单上信息的显示行为,并控制任务的自定义流程。另一方面,UI 操作用于使 UI 更加交互式、自定义化以及特定于用户活动。让我们通过一个例子来理解这一点。

假设,我们需要配置事件表单,以便如果任何事件被分配给前端 IT 团队分配组,则“服务”字段应变为不可见,“配置项”应被禁用。此处的 UI 策略是:“如果分配组被选为前端 IT 团队”,而此处的 UI 操作是:“服务字段应变为不可见,配置项字段应被禁用”。

UI 操作可以通过易于使用的界面实现,也可以通过客户端脚本实现。编写客户端脚本将有助于我们在字段中执行高级操作。我们还将在本节后面演示客户端脚本。

这里需要注意的重要一点是,UI 操作速度更快,并且先于客户端脚本执行。让我们为我们的用例创建一个 UI 策略和操作。从导航栏中,打开“系统 UI”应用程序下的“UI 策略”模块,然后单击“新建”按钮。

System UI

输入表的名称,在我们的例子中是“事件”。将应用程序保留为“全局”。如果您找不到“全局”选项,请导航到右上角的齿轮图标,然后从“开发人员”选项卡中选择应用程序为“全局”。

现在,开始在下一节中给出条件。在我们的例子中,它是“分配组是前端 IT 团队”。接下来是一些复选框,如下所示:

  • 全局 - 如果您希望全局实施 UI 策略,请勾选。

  • 加载时 - 如果您希望在每次刷新页面时运行 UI 策略,请勾选。

  • 如果为假则反转 - 如果您希望在更改条件时反转我们创建的所有操作,请勾选。

  • 继承 - 如果您希望扩展指定表的表(在其中创建 UI 策略)继承此 UI 策略,请勾选。

填写所有必需的详细信息,然后按“提交”。

UI Policy Record

现在,再次打开 UI 策略,您将找到输入 UI 操作的选项。让我们根据我们的用例给出 UI 操作。单击 UI 操作部分中的“新建”按钮。

UI Policy Action

我们将为“服务”和“配置项”字段选择以下操作。

Services and Configuration Items Fields

Services and Configuration Items Fields1

单击“提交”以确认您的 UI 操作,最后单击“更新”以保存 UI 策略中的更改。您现在可以转到事件表单并验证您的 UI 策略和操作。

ServiceNow 脚本编写

ServiceNow 中有两种类型的脚本编写:客户端和服务器端。服务器端脚本编写意味着处理在 Web 服务器上进行,而客户端脚本编写意味着处理在用户的计算机上进行。每种类型的脚本都可以完成特定的任务。让我们讨论两种脚本的示例:

客户端脚本编写

客户端脚本编写可用于各种场景,例如填充表单字段中的某些默认值、显示某些警报消息、根据用户在表单中另一个字段中的响应设置一个字段中的值、更改选择列表等。客户端脚本主要有三种类型。

  • OnLoad() - 表单加载时执行此操作。

  • OnChange() - 更改表单中的特定字段时执行此操作。

  • OnSubmit() - 提交表单时执行此操作。

让我们为两个用例创建一个客户端脚本。在我们的新应用程序“前端 IT 团队轮班表”中,我们将实现一个警报“请每周使用一次此应用程序来设置轮班轮换”,一旦应用程序加载。然后,如果选择轮班时间为凌晨 12 点到凌晨 6 点,我们将显示警报“成员有权获得轮班津贴”。

导航到 Studio 模块,打开应用程序并单击“创建应用程序”文件。然后,在客户端开发选项下选择客户端脚本,并按如下所示提供所需的详细信息:

Create Application

向下滚动并提供脚本。我们将提供如下所示的警报。

Create Application1
Function onLoad() {
alert (“Please use this application once a week to set the shift rotation”);
}

单击“提交”并加载您的新应用程序以查看结果。

现在,让我们实现下一个用例。在这里,我们将使用 onChange。OnChange 函数由 ServiceNow 自动传递 5 个参数。

  • 控件 - 配置客户端脚本的字段

  • 旧值 - 加载表单时(更改之前)字段的值。

  • 新值 - 更改后字段的值。

  • isLoading - 布尔值,指示更改是否作为表单加载的一部分发生。如果更改是由于表单加载,则值为 true。当表单加载时,表单上的所有字段值都会发生更改。

  • isTemplate - 布尔值,指示发生的更改是否由于模板填充字段而导致。如果更改是由于模板填充,则值为 true。

Client Script
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '12am-6pm') {
      alert("The member is entitled for shift allowance");
      return;
   }
}
Client Script1

Glideform (g_form) 类

glideform 是用于控制表单及其字段的类。我们可以执行诸如隐藏字段值、根据其他字段的响应设置字段值、向选择列表添加字段等任务。

glideform 类包含许多方法。一些重要的方法包括 addOption()、clearOptions()、showFieldMsg()、clearMessages()、clearValue()、setValue() 等。

让我们在事件表单中创建一个客户端脚本,如果选择了前端 IT 团队作为分配组,则在描述字段中填充一些消息。转到 UI 策略并创建一个新的策略。在“应用位置”部分中将条件设置为“分配组是前端 IT 团队”。

UI Policy Advanced View

提交 UI 策略,再次打开它,然后单击“高级视图”。稍后,您将找到提供脚本的选项。

When to Apply This

脚本将自动填充 onCondition() 函数。onCondition 函数将根据我们在 UI 策略中给出的条件自动执行一次。需要注意的另一点是,有两个脚本,“如果为真则执行”和“如果为假则执行”。

一旦条件匹配,“如果为真则执行”脚本将执行,如果我们更改字段中的值,使得我们提到的条件不再满足,则“如果为假则执行”脚本将执行。

让我们为两者编写一个脚本。在这里,我们将使用 setValue 和 clearValue 方法。要获取需要在脚本中提到的字段名称,请打开事件表单并右键单击所需的字段,您可以在“显示 - <字段名>”格式中找到字段名称。

Execute_Files

如果为真脚本

function onCondition() {
   g_form.clearValue('description');
   g_form.setValue(‘description’,'**Please mention server name, instance name and error code**');
}

如果为假脚本

function onCondition() {
   g_form.clearValue('description');
}
Run Script

现在,打开事件表单并检查结果。

Run Script1

服务器端脚本编写

服务器端脚本在 ServiceNow 服务器或数据库上执行。服务器端脚本编写分为两类:

  • 业务规则

  • 脚本包含

让我们逐一查看每个类别。

业务规则

业务规则模块可以在“系统定义”应用程序中找到。要创建业务规则,请单击“新建”。我们可以使用业务规则操作创建一个简单的业务规则,它具有一个简单的下拉界面。

您可以使用业务规则操作设置字段的值或向表单中添加消息。我们可以选择何时运行业务规则,如下所示:

  • 之前 - 业务规则中的逻辑在数据库操作之前执行

  • 之后 - 业务规则中的逻辑在数据库操作之后执行

  • 异步 - 异步业务规则在数据库操作发生后执行其逻辑,但调度程序会将任务排队尽快运行,但不一定立即在数据库操作之后运行。

  • 显示 - 显示业务规则在表单加载以及从数据库加载记录时执行其逻辑。

我们还可以选择业务规则应执行的数据库操作。让我们在上一节中创建的前端 IT 团队轮班表应用程序中创建一个业务规则操作。

如果轮班时间是凌晨 12 点到凌晨 6 点,我们必须将“备注”字段的值设置为“监控 XO887 批处理作业”。给出名称和表 frontend_it_rota。在“何时运行”选项卡中,将条件设置为轮班时间为凌晨 12 点到凌晨 6 点,并选中“插入”和“更新”框。

Server Side Scripting

在“操作”选项卡中,为备注字段提供您的条件。

Server Side Scripting1

我们还可以在此业务规则中提供自定义脚本。要开始编写自定义脚本,请选中“高级”复选框,您将看到一个新的“高级”选项卡来编写脚本。

让我们编写一个脚本,在未给出成员、时间或日期字段时中止插入事务。我们将为此目的使用“current”和“previous”对象。

(function executeRule(current, previous /*null when async*/)) {
   if((current.member = ' ') || (current.date = ' ') || (current.shift = ' '){
      current.setAbortAction(true);
   }
}
Server Side Scripting2

脚本包含

使用脚本包含,我们可以编写自定义函数或类,然后在其他脚本中根据需要多次使用它们。它们是一种可重用的脚本;我们可以在其他客户端或服务器端脚本中使用它们。但是,只有在其他脚本显式调用时,它们才会执行。要创建一个新的脚本包含,我们有一个模块“脚本包含”,位于“系统定义”应用程序下。单击“新建”以创建一个新的脚本包含。

在脚本包含表单中,给出脚本包含的名称。API 名称字段是脚本包含的内部名称,当从其他应用程序调用此脚本包含时,它将被使用。如果要在客户端脚本中使用此脚本包含,请选中“客户端可调用”复选框。在应用程序中,给出使用此脚本的应用程序。在“可访问自”字段中,给出应用程序范围。

让我们为前端 IT 团队轮班表应用程序中的以下情况编写一个脚本。首先,我们将编写一个脚本包含,它将检查任何字段中的无效字符。我们将定义一个函数,该函数将以字符串作为参数,并根据字符串中的字符返回 true 或 false。

我们将在我们的业务规则脚本中使用此函数来验证提交表单时,成员(姓名)字段(在前端 IT 团队轮班表应用程序中)中给定的值是否没有任何无效字符。

打开脚本包含模块,以下是我们将使用的脚本。

function validatefieldcharacters(fieldinput) {
   var validcharacters = /^[a-zA-Z]+$/;
   if(fieldinput.value.match(validcharacters)) {
      return true;
   } else {
      return false;
   }
}
Script Include

现在,让我们编写业务规则脚本以验证成员字段。打开业务规则模块并为我们的应用程序前端 IT 团队轮班表创建一个新的业务规则。

var memberfieldstatus = validatefieldcharacters(current.member)
   if(memberfieldstatus == false) {
   gs.addErrorMessage(" Special characters not allowed in member field");
   current.setAbortAction(true);
}
Script Include1

调试

如果我们的脚本未按预期执行,或者我们遇到某些错误,我们可以使用各种调试技术。让我们讨论我们可以调试客户端和服务器端脚本的各种方法。

调试客户端脚本

调试客户端脚本的最佳方法是参考日志。Javascript 提供 jslog() 方法来在 Javascript 日志中写入消息。jslog() 方法接受我们想要在日志中显示的消息作为参数。以下是如何实现 jslog() 的示例。您可以在业务规则脚本中使用以下脚本。

function onLoad(){
   jslog("This log is displayed from jslog().");
   jslog("The value of Member field is = " + g_form.getValue('Member'));
}

这将在日志中给出成员字段中给定的值。在这种情况下,我们使用了 getvalue 方法来检索成员字段的值。现在,下一步是打开日志。转到右上角的设置选项,然后单击“开发人员”选项卡。打开“Javascript 日志和字段观察器”选项。

Debugging

Javascript 日志将在 ServiceNow 浏览器窗口主窗口底部的新的部分中打开。

Debugging1

除了 jslog() 之外,我们还可以使用通常在 Javascript 中用于调试脚本的 try/catch 语句。

调试服务器端脚本

调试服务器端脚本最常见的方法是使用“脚本调试器”模块。“脚本调试器”可用于设置断点、逐步遍历代码、查看变量的值等。要访问脚本调试器,请在导航栏中查找“脚本调试器”。它位于“系统诊断”应用程序中。

除此之外,我们还可以参考“系统日志应用程序”中的“应用程序日志”模块。

ServiceNow - 精通与认证

ServiceNow 是一个企业云生态系统,它彻底改变了组织内部 ITSM 的实施方式。由于其灵活性和易于集成,以及能够提高质量和生产力,因此非常受欢迎。

我们的 ServiceNow 教程应该已经为您奠定了坚实的基础,并提供了足够的知识,让您开始成为 ServiceNow 专业人士的旅程。您可以开始在您的开发者实例中为假设的用例创建新的应用程序,因为实践操作对于掌握每一个主题和建立对每个主题的良好理解至关重要。

在 ServiceNow 领域,您有两个职业选择,如下所示:

  • ServiceNow 开发人员

  • ServiceNow 管理员

虽然在管理或开发方面拥有专业技能非常有益,但许多组织更倾向于招聘同时掌握这两个领域的专业人才。在本教程中,我们尝试涵盖了管理和开发两个方面的重要概念。

但是,您可以通过阅读 ServiceNow 文档来提高您的熟练程度。ServiceNow 对其产品的文档进行了非常系统的整理,您可以通过以下链接访问:https://docs.servicenow.com/

接下来,我们要强调的是,您可以通过 ServiceNow 认证来展示您的 ServiceNow 技能。要获得 ServiceNow 认证,必须首先完成 ServiceNow 的付费培训,之后您将获得免费的认证凭证。

ServiceNow 将认证分为四大类,如下所示:

  • 认证实施专家 (CIS)

  • 认证应用程序开发人员 (CAD)

  • 认证应用程序专家 (CAS)

您可以在此网址上找到有关 ServiceNow 认证和 ServiceNow 授权培训合作伙伴的更多详细信息:www.servicenow.com

广告
© . All rights reserved.