ServiceNow基础练手项目,入门全解,手把手超详细教程(万字长文,适用于CSA认证考试)

目录

前言

摘要:

1.如何创建项目

2.初始布局优化

2.1.侧边栏样式修改

3.加入字段,创建表和从excel表导入数据

3.1加入字段

3.2新建一个reviews表

3.3从excel表里插入数据

3.4优化表的视图

4.创建角色和群组

4.1Group

4.2设定​​​​​​​选择框默认值和跨表查询的问题​​​​​​​​​​​​​​

4.3在两个表之间建立relationship

5.Workflow工作流

6.Business rule ,UI action,UI policies

6.1Business rule

6.2 UI policy

6.3ui action

7.report报表

7.1reports

7.2验证roles的权限

​​​​​​​7.3模拟用户

8.前端




前言

此教程面对serviceNow零基础或者已经了解一点相关知识相关做一个demo项目练习巩固
在这个教程中,我会尽全力以一个新手的角度详细记录如何在serviceNow中创建第一个项目,并且会对其中的操作给出详细的解释和分析,最后会建立门户和主页,以便能够在浏览器在线访问,看到做出的成果,用意是为了帮助大家节省时间,摆脱枯燥的官方教程,对于对it行业有一定了解的同学推荐先做跟着做练手项目,了解实际的项目中是怎么运行的,然后的话去看官方的视频查缺补漏,就可以2倍速播放视频,节省时间,提高理解效率

我的serviceNow的理解:serviceNow是一个成熟的商业公司管理平台,也可简称之为ITSM,优点是:成熟,规范。

相比较于传统的java后端加vue前端,最大的特点是其开发基本上不用写代码,开发的时候很多工具都已经提供好现成的,只需把业务理解透成后,点点点就好了,加快开发效率,而且由于不用写代码,不太容易容易出现低级的代码逻辑错误,并且在开发好后,后续的管理员系统也比较成熟,方便直接进行后续的运维。

这篇教程主要讲的是开发系统管理所设计的后端知识,前端页面只会简短介绍,由于版本不同所以操作可能会有细微差别,但是你认真找一下还是能找到相同逻辑的操作按钮的

先致谢本教程参考视频链接(是链接的sectioin 9部分):https://www.udemy.com/course/the-complete-servicenow-system-administrator-course/


摘要:

先介绍一下练手项目:

我们希望能够做一个页面来浏览游戏和游戏对应的评论,同时玩家可以在游戏下面写评论,当评论被
管理员批准了之后的话,评论就能够被展示出来
 

所以这个项目的核心是两张表,两个群组(用户组和管理员组),以及评论审核涉及到的工作流的建立,

同时我们也会进行一些界面上的美化和限制,比如调整布局,设置只读字段,以及写一点简单的javascript脚本

games表和reviews表字段结构如下图

Games表:

Reviews表:

我们要实现的目标和练习的点:

1.了解从哪里创建serviceNow项目,在项目里手动创建这两张表games 和reviews

2.将excel表格里面的数据导入我们创建的两张表

3.将games表和reviews表建立联系,以便当我们写了reviews之后能够在games表下方显示

4.建立分组机制,将用户和管理员进行区分并给予不同的权限

5.设置choice选择框字段的默认值,修改页面布局

6.建立workflow工作流,当用户提交review之后会交由admin进行审核,如果是approved 就更改status值并且展示评论同时通知用户审核成功结果,如果是rejected就更改status值同时通知用户审核失败结果

7.UI policy,UI action,business rule三件套,写business rule,当添加新游戏的时候自动判断release day 是否在当前时间之前,如果是就自动将released值改成true,在用户输入评论的界面加入ui action,点击这个按钮,可以见评论者reviewer自动补充为当前所登录的用户,添加UI policy,将部分字段设置成只可读

8.制作report报告页面,将reviews表里面的数据制作成图表进程可视化

1.如何创建项目

首先我们来到这个网址:https://developer.servicenow.com

注册一个个人的账户,当注册好账户之后我们能看到如下界面

然后我们点击右上角sign in登录已有账号或者注册新账号,
弄好了之后回到刚刚的网址,点击右上角的request for a lab,然后我们等待一会,带服务器给我们分配好一个示例之后,会出现下面的界面,右上角头像哪里会有服务器的标识图标

然后我们点击start building,进入到实例界面,记住这里不要点击啊首页正中心的open create Studio,我们用老版的开发模式

我们点击做左上角的ALL,在点击里面的图钉按钮,固定菜单

然后的话我们输入studio,找到system application下面的 studio选项,单击进入

来到这个界面我们点击create Application 的按钮,不用点击提示的新版studio页面,下文同样的逻辑


然后再下一个界面我们点击 let's get started 按钮

这里我们把项目取名为rotten potatoes,不要问我为什么这么取,因为我看的视频教程是这样的,(严格遵守视频教程,不影响你哪一个看不懂去看另外一个),最下方scope去掉冗余的结尾,改成rp结尾,以遵守简洁命名的原则


可以注意到我们这个创建了一个默认的rp_user

然后点击继续,选择classic 样式

然后来到我们的数据表页面,后端本质就是由数据驱动的,所以数据是程序的灵魂之一,这里我们要自己新建两张表,所以点击右下方的 create new table

然后的话在这里我们点击create table from scratch从头开始创建表

然后点击add a new field,
我们先添加第一个字段标题Title,养成好习惯首字母大写!按如下填就好了


然后填写表的相关信息,记得勾上Auto-number然后吧Prefix有GAM改成GAME,就再点击continue

可以看到这表里面一共创建了9个字段


然后来到这个界面,我们就先创建一个表,直接点击绿色的Done with tabels按钮,剩下的评论reviews表,就留到之后创建

然后再这个界面直接点击statr按钮

继续点击create按钮

可以看到目前我们分配的角色是 rp_user
 

默认情况下,拥有此角色的用户将有权限访问此应用下的所有模块,前提是这些模块的角色要求包含 x_1581062_rp.user。

• 当前配置中,你的应用与 “Games” 表绑定,因此,x_1581062_rp.user 角色用户也可以访问与 “Games” 表相关的模块和数据。
 

然后点击done with apps

继续点击done

然后我们应该可以看到自己创建的rotten potatoes程序了

至此程序成功创建
接下来我们会讲解初始布局优化

2.初始布局优化

2.1.侧边栏样式修改


接上文,如果我们单击rotten potatoes它会在这个studio页面里加载,如果你已经关闭了页面也没关系可以直接进入到下一个步骤

但是我们由于在平台视图操作更加容易,所有我们在创建完程序之后不再studio里面操作,返回平台视图,你可以点击之前浏览器留下来的标签页或者重新输入网址等方法回到平台视图,后续很长一段时间不会用到studio界面了,所以可以先关闭页面




回到这个界面

我们删除掉搜索框中的studio输入application menus我们可以看到这个界面

(这里的application menus就是类似于应用的一级菜单,然后modules就是menus下面的二级菜单)

我们点击表格左上角的搜索图标,输入 rotten potatoes找到我们对应的记录,然后的话我们双击order对应的空框将它的order设置成0,点绿勾或者回车保存。
这里的order就是调整展示顺序,越小展示越靠前

然后如果我们删除掉搜索框的内容后我们应该能看到 rotten potatoes 在第一位置


可以看到它自动帮我们创建了三个,我们只需要ALL标签,所以我们删除掉多余的选项

点击rotten potatoes的修改图标

下拉界面找到这里

勾选上之后点击右上角的actions on selected rows的按钮点击delete删除按钮,然后在弹窗中点击红色delete按钮确认删除

然后继续点击ALL的修改图标

将Title改成Games

点击这里的update提交更改

我们可以看到这里的all已经变成了Games说明更改生效

3.添加game表的字段


点击Games来到如下界面,点击左上角的new

来到这个界面


3.加入字段,创建表和从excel表导入数据



3.1加入字段

由于字段太少了,我们就加一些字段
我们点击左上角的三条横杠,按下图点进去table

来到这个界面

点击insert a new row

插入以下数据

作者补充:(这里作者后来发现和原视频的字段有一个是冲突的,原视频是ESRB Rating 我写的是ESRB,不过跟着我写ESRB也是没有问题的)

然后点击update按钮会跳转到这个界面

然后我们会发现 Genre和ESRB选择框里面是没有值的,所以我们要往这两个选择框里面加值
方法是右击genre点击configure Dictionary

然后会跳转到这个界面

然后的话我们下滑到这里,点击choices


 

点击insert a new row


插入如下数据

那么现在新建游戏的时候genre下拉框就可以看到我们所设置的值了

同样的逻辑我们处理ESRB下选框

好的,那么我们对于games表先处理到这里,接下来我们学习如何在这个界面创建reviews表。

相信大家看到这里已经对这个项目有了一定的认识,接下来我们加快一点脚步
 

3.2新建一个reviews表


我们在左边的搜索栏里面输入table
找到System Definition 点击第一个table

然后的话我们可以看到这个页面

我们点击右上角的new


输入表名,记得在add module to menu 这一栏加上rotten potatoes


在Controls这个选项里面打开Auto-number

再记得点击提交紫色的submit按钮

接下来我们找到我们刚刚创建的表给里面添加一点字段
 


 

写好之后点击update按钮

然后的话我们清空左边的筛选条件应该可以看到rotten potatoes(rp)模块下面的Reviews了


然后我们点进去,再点击new按钮,来到这个界面

可以发现这里的stars和status里面是没有选项的,所以我们需要往里面添加一些选项

这次我们

加载页面后点击new按钮

点击submit,然后进进去继续插入数据

右击上面空白部分,点击insert and stay
依次我们插入了1-5评分的5个数据

再返回新增按钮查看,可以发现已经可以显示下选框的内容了

同样的方式我们对于status也插入如下的状态

插入如下的数据

 

那截止到目前为止我们实现了创建两张表和实现他们的下选框字段的显示

3.3从excel表里插入数据



接下来我们要讲如何从xlsx表格中批量导入数据到servicenow的表格里面来

首先的话我们需要准备一张存储了数据用于导入的表

其实我们这里可以注意到,字段首字母大小写和excel表不一致,但这不影响

如下图

然后的话我们在搜索框里面输入import找到load Data这个界面

先输入label为Games import

在file-> choose file里面选择好你要导入的excel表格


然后我们点击这里的create transform map
 

输入Name,去掉Run business rules的勾选框,将target table选成Games表格

然后我们点击这里的字段匹配

我们点击mapping assist来确认一下

可以看到我这里犯了一个错误就是导入的表字段是esrb_rating而自己建表的是ESRB所以的话要手动匹配一下,再点击save

然后找到transform的link

直接点击transform就好了

成功的界面

然后我们删除搜索框的内容
检查到确实插入了6条数据

总结一下导入表的内在逻辑:
 

1. 数据从文件加载到中间表:

• 当你通过 Load Data 上传 Excel 文件(或其他文件)时,系统会自动为这次数据导入创建一个 中间表(Staging Table)

中间表 是临时表,它的字段会与 Excel 文件的列自动匹配。导入的数据会首先被存储在这个表中。

2. 中间表到目标表的转换:

Transform Map 是一种规则或映射,用于定义如何将中间表的数据传输到目标表(Target Table)。

• Transform Map 会:

• 匹配中间表字段与目标表字段。

• 对数据进行清洗、转换或增强(如自动填充缺失字段、转换日期格式等)。

• 应用去重策略,避免插入重复数据。

3. 目标表:

• 最终处理过的数据会通过 Transform Map 插入到目标表中。

在这里我们为了后续样式方便,将所有的游戏的released勾选框勾上

至此大家就成功学习完了对于table的相关基础知识,接下来进入到我们的



3.4优化表的视图

首先我们来解决一下视图的问题

可以看到game表现在只展示number和title这显然不是我们想要的

我们点击personalize list的锯齿,然后的话改成这样子

然后解决完数据在外面排列的list形式,我们要解决数据内部的from表单形式了

这里叉掉

然后的话我们这样来布局后点击save按钮

接下来我们对reviews表做同样的事情,处理list和form表单

然后的话我们点击new按钮,再修改form视图

布局成这个样子,点击save



 

4.创建角色和群组


 

4.1Group
 


然后我们进行gruop相关的处理
找到system security 下面的groups

点击new按钮

新建一个RP admins的group,右击save

我们点击roles下面的edit

输入user找到并且保存下去

然后我们继续添加组成员,在members页面点击edit就行

加入系统管理员

再点击update

这里我给大家解释一下为什么要这么做
我们可以看到是新建了一个RP admin组,分配了一个user角色,然后组成员加入了一个admin用户

先解释一下组和角色的作用,组的最大作用是管理成员,当一个成员被加入这个组之后,成员会自动的获得这个组里面所有角色所拥有的权限,当有什么事件需要这个组处理或者通知的时候更加方便

角色最大的作用就是控制权限,我们先设定一个个角色赋予权限,对于用户而言我们只需要分配角色就好了,不需要一个个的手动配置权限


这里的user是全局普通角色,就理解成出了通用基础权限外没有任何其他功能的角色,理论来说这里可以不分配角色,因为admin没有从角色这里获得任何额外的权限

接下来我们回到groups的界面为用户创建一个group

同样roles下插入user

然后这里就自己插入三个用户就好了

出来点击一下update按钮

好,现在groups的问题解决了,我们来解决一下



4.2设定​​​​​​​选择框默认值和跨表查询的问题

会到这里点击新建

右击status 点击configure dictionary

我们勾选这个

然后在defualt value里面输入

点击update

然后会在new record的界面

我们发现点击game旁边的放大镜出来的是number,而我们希望的是标题

然后这里要注意

这里修改页面布局藏的很深,要先把鼠标放在number那一行,然后的话点击右边的三个点

把number换成title

然后我们去games表里面去配置一下

点击new

进去把title的display字段由false改成true记得点击对号,再点击右上角的update

这个时候我们应该可以搜索到game了


4.3在两个表之间建立relationship

我们建立关系的目的是为了能够在games表下方展示reviews表


然后我们输入relationship找到 system definition下面的relationship,点击右上角的new按钮新建

然后依照图片补充完整

再点击submit

回到games表格

点击任意一个记录

点击related lists

加入刚刚建立的关系表格

然后回到我们的reviews表,

新建一个reviews,特别提醒status要改成approved因为我们刚刚的script脚本设定了只有approved的评论才会被显示在games的下面

填完后点击submit

然后我们能够在对应的game表记录看到评论

解决完这个之后我们来解决审批评论的工作流

5.Workflow工作流


输入workflow,找到workflow->workflow editor

设置好workflow名字和应用的table

下方运行条件那里

选择状态是未审批和拒绝的两种状态之一,注意这里的if condition matches要改成​​​​​​​run the workflow

always 要不然的话workflow不会运行的

然后点击最下方左边的submit

然后点左上角三条横线图标找到edit stage


这里点击new按钮

点击submit后继续点new按钮添加



继续

然后我们改一下这三个stage的排序,如下图



然后直接叉掉

接着鼠标左边按住approval user,拖到左边来



拖到begin和end中间来
参考最后的成品图(你中间两个组件省略就是要的效果)
​​​​​​​

往下方找到groups,点击锁

加入RP_admin 群组后锁住,还记得我们的RP_admin 群组里面是管理员,所以是由管理员来审批的

再点击右上角的submit提交

接下来我们在右边找到set value的选项

如下填写然后点击submit

接下来我们右击后点击复制活动

左击复制出来的活动后进去修改

再如此修改后点击update

之后我们把它移动到合适的位置与approval连接起来

接下来我们希望审批结果出来后能够对评论人通知

同样拖住notifications->notidication的组件到左边


写上名字

选择分支图标点击reviewer

再锁住        

然后message如此写


点击submit

同样的我们复制一个notification



将里面的Approved 改成Rejected



然后点击update

然后我们把它移动到合适的位置,前后都连接上
如下图

点击右上角这个按钮

检查一下没有warn和critical


最后点击左上角的图标,点击publish就结束了我们workflow的内容了




 

6.Business rule ,UI action,UI policies


先点击旁边的标签页或者其他地方回到刚刚的页面

接下来的话
我们来处理三个重要的概念

6.1Business rule

Business rule 用于处理当日期到了release date的时候自动将released勾选上

ui action 用于自己添加按钮来实现特定的功能

ui policies 用于修改字段的属性,比如说让字段仅可读


首先的的话我们直接在搜索栏里面输入 studio

找到system->application 下面的studio

然后我们进到这个界面

接着点击我们的项目rotten potatoes
 

可以看到,左边加载出来了非常多的项目目录

我们接下来点击左上角的create application file

找到business rule

 

然后如图填写字段,记得勾上advanced和insert


然后我们在下方的        advanced栏目里面写上如下的代码后点击submit


这里大家可以自行去创建几个游戏去测试一下business rule是否生效
 




6.2 UI policy




​​​​​​​
接下来的话,我们来做ui policy就好了

将字段设定为仅可读

我们继续点击左上角



找到ui policy

点进去,填写对应的表格和short description,然后右击点击save

然后找到下方,点击右上角的new,设置read-only字段


我们进去后点击field name,在右边的栏目里面先给number字段设置仅可读

然后这里的read-only字段改成true

再点击submit

然后我们返回上一级


继续点击刚刚ui policy actions里面的new按钮
这次给status字段变成read-only,然后submit




然后的话我们现在设定当review的状态为approved的时候

我们将stars和comment的字段设置成read-only


所以我们首先再创建一个ui policy




然后的话按照如下进行设置,记得在when to apply 里面设定Status is Approved





然后右击save保存




接下来就是继续像刚刚一下向里面添加字段了

在下面找到新建字段的new按钮

添加如下两个字段


6.3ui action


先依照图片如下填写,更新的时候就不出现这个按钮了,然后的话打开表格按钮

然后点击submit提交

然后我们来测试一下

在新建review者里应该是可以看到add Self 的按钮,点击后Reviewer这一栏是会出现当前用户的名字,Number和Status是read-only;


我们继续填充完

后点击submit
同时我们检查已经已经批准的review也是没有问题的,stars和comment都是只读

7.report报表

7.1reports

接下来我们就进入到report报表环节,将我们的数据制作成表格展示出来


搜索框输入reports来到这个界面
 

点击右上角的new
如此填写

然后选择bar图后点击next

然后点击next

这里改成reviewer

继续点击next来到这个界面


然后点击右上角的save

我们的reports就做好了

7.2验证roles的权限

然后的话这里前后有一个地方写的不对勘误

我们找到这里的Groups


找到RP Users 点进去

点击如图所示中的edit

我们可以看到这里时user

但是这不是我们想要的

我们搜索x_

我们选则reviews的user把右边改成这样子,点击save

这里注意有两种选择用review_user和rp_user都可以,都有可能出现需要修改access control但没权限的情况,我们可以在点击右上角头像提高权限。

然后的话我们需要对rotten potatoes展示的权限检查一下
,输入 Modules 或 System Definition > Application Menus



​​​​​​​
可以看到不是我们想要的


改成

点击update

之所以选这个是因为我们要让这三个用户对应的角色对games和reviews模块有访问权限
然后我们要按照如下方法检查一下(必做!)
可以通过

  • 打开左侧导航栏,输入 Modules 或 System Definition > Application Menus > Modules
  • 找到对应的模块(如“Reviews”或“Games”)

    我们可以到访问这个模块所需要的角色roles


可以看到这里是reviews_user是正确的所以不需要改

同时可以在access control里面去确认一下



是reviews_user正确的就不用改了

 


​​​​​​​7.3模拟用户

这是为了方便我们接下来模拟用户来评论

然后我们点击右上角的头像

点击impersonate user选择你之前加入用户群组的用户
比如我的
Abel Tuter

然后点击impersonate user

来到这个界面

现在我们要做的就是用这些用户来发一些评论

来到review模块


我们在这里随便新建几条评论


然后切换到群组里面另外一个有权限的用户

再写几条评论
比如我这里切换后写了一条评论

然后切回admin 管理员

我们在self-service my approvals里面可以看到,待审核的评论



然后我们在刚刚reports可以看到能够展示用户的评论数量了

 

8.前端



​​​​​​​最后我们加上前端页面





可以在这里展示已经存在的表






预览一下


返回page界面,save一下





然后保存
接着你就可以在浏览器输入https://dev你的地址.service-now.com/
加上suffix后缀来访问了
我的页面如图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值