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 的部署非常靈活,也可以在私有云中實現。
ServiceNow 還提供開發者例項,這是一個免費的社群版。ServiceNow 開發者例項的推出是為了促進 ServiceNow 的使用,並提供資源,以便開發人員/管理員可以學習、構建、增強和定製 ServiceNow 中的應用程式。
生成開發者例項
在本教程中,我們將使用 ServiceNow 開發者例項,我們也建議您按照以下步驟生成開發者例項:
步驟 1
訪問 URL https://developer.servicenow.com/ 並點選註冊。您將看到如下所示的螢幕。
步驟 2
ServiceNow 登錄檔單將開啟。填寫您的詳細資訊並點選提交,如下所示。
步驟 3
ServiceNow 將傳送確認郵件。點選郵件中的連結以確認註冊。請參考以下螢幕。
步驟 4
現在,登入您的 ServiceNow 帳戶。您將看到以下儀表板。轉到管理 → 例項。
步驟 5
現在,點選請求例項。
步驟 6
點選 ServiceNow 的最新版本,然後點選請求例項。在本教程撰寫時,最新版本是 Orlando。
大約需要 20 分鐘才能準備好您的例項。在下一頁,您將獲得例項連結、管理員使用者名稱和密碼。點選例項連結並輸入您的使用者名稱和密碼。登入後,您將需要更改 ServiceNow 提供的預設密碼。
請記住,如果您連續 10 天不使用您的開發者例項,則它將變為非活動狀態,您必須重新獲取該例項。登入您的例項後,您將看到 ServiceNow 門戶的第一個介面。
現在,您有了 ServiceNow 例項,您可以與本教程一起探索各種應用程式和功能。
ServiceNow 使用者介面 (UI)
ServiceNow 使用者介面 (UI) 由預設元素組成。該介面非常靈活,可以根據業務需求進行定製。ServiceNow UI 的概述如下:
下面解釋了 UI 中的所有元件。
橫幅框架
橫幅框架包含徽標、設定選項、使用者個人資料、全域性搜尋欄以及在右側欄之間切換對話和幫助的選項。
應用程式導航器
應用程式導航器允許我們瀏覽應用程式下所有應用程式和模組。我們可以在導航過濾器中輸入應用程式或模組的名稱,ServiceNow 將自動向我們顯示所有匹配的應用程式和模組。
例如,“事件”是 ServiceNow 中的一個應用程式,“新建”是其下的一個模組,我們可以使用它為 BookWorm 有限公司建立新的事件。“開啟”是事件應用程式中的另一個模組,它將列出所有開啟的事件。
ServiceNow 提供了透過點選側面的星號將應用程式或模組新增為收藏夾的選項。這對於輕鬆導航我們喜歡的應用程式或模組非常有用。
側邊欄
側邊欄不是預設提供的。使用者必須從橫幅框架中啟用它。側邊欄可以顯示對話或幫助選項。使用對話功能,我們可以與同事聊天並瀏覽聊天曆史記錄。幫助選項允許我們參考管理員新增的支援文章。
內容框架
內容框架是 ServiceNow 門戶的中心部分,它列出了應用程式和模組的全部內容。這還包含應用程式的集中式選單,從管理的角度來看,這些選單很重要。以下是內容框架顯示集中式選單和顯示事件應用程式中開啟模組內容的示例。
ServiceNow - 基礎知識
讓我們更進一步,學習一些 ServiceNow 的基礎知識。在本章中,我們將學習使用者/組/角色、列表、表單、應用程式、模組以及更多概念。
ServiceNow 開發者例項擁有大量虛擬資料,例如使用者、事件、組等,我們可以參考這些資料來更好地理解這個概念。在本章的其餘部分,我們將以我們舊的 BookWorm 有限公司為例,並嘗試瞭解 ServiceNow 如何適應組織的內部運作。
應用程式和模組
ServiceNow 將**應用程式**定義為交付服務和管理業務流程的檔案和資料的集合,而**模組**則是應用程式的子項,連結到平臺中的其他頁面或記錄。
例如,我們有一個“事件”應用程式,它具有諸如“新建”之類的模組,用於為 BookWorm 有限公司任何部門建立新的事件。“開啟”模組列出 BookWorm 有限公司內所有開啟的事件(此模組可能僅對系統管理員可見)。
同樣,還有其他重要的應用程式,如問題、變更、工作流等,以及其各自的模組,如“新建”、“開啟”、“工作流編輯器”等。
列表和表單
在這裡,您將瞭解 ServiceNow 中的列表和表單。
列表
它顯示來自資料表的一組記錄(基於某些條件)。它可以是從事件表中分配給特定組的事件列表,或者是從問題表中未分配給任何組的問題列表等。
以下是從事件表中已解決的事件的事件列表示例。
此列表是透過“事件”應用程式的“已解決”模組生成的。這是 ServiceNow 提供的預設模組。要開啟此模組並瀏覽此列表,請在應用程式導航器中搜索“事件”,並在“事件”應用程式中找到“已解決”模組。
表單
它顯示資料表中的一條記錄,或者可用於在資料表中輸入/更新記錄。例如,事件表單將顯示與單個選定事件相關的詳細資訊,也可用於在事件表中輸入新事件的詳細資訊。
分別顯示現有事件記錄詳細資訊的表單和輸入新事件記錄詳細資訊的表單如下所示。
要訪問上述示例中的第一個表單,請轉到“事件”應用程式中的“已解決”模組。將出現已解決事件的列表。點選任何事件編號以開啟表單。上述示例中的第二個螢幕(包含用於輸入新事件詳細資訊的表單)可以透過“事件”應用程式的“新建”模組訪問。
使用者、角色和組
下面詳細解釋了 ServiceNow 中的使用者、角色和組。
使用者
是在組織內使用 ServiceNow 的個人。系統管理員有權建立新使用者、瀏覽現有使用者列表、刪除使用者和模擬使用者。
要開啟現有使用者的列表,請轉到“使用者管理”應用程式內的“使用者”模組。
(在應用程式導航器中搜索使用者,然後單擊“使用者管理”下的“使用者”)
要建立新使用者,請單擊內容框架左上角的“新建”按鈕。隨後將開啟表單,用於輸入使用者表的新資料記錄。
系統管理員還可以模擬使用者,這意味著系統管理員可以以其他使用者的身份登入 ServiceNow。在橫幅框架中有一個選項,可以模擬任何其他使用者。
角色
與使用者在組織內執行的任務相關聯。角色是根據工作職能分配的。例如,可以有事件經理角色、應用程式開發人員角色、事件分析師角色等。
角色控制對應用程式和模組中功能和能力的訪問。因此,系統管理員角色可能可以訪問事件經理角色可能無法訪問的一些應用程式。“系統安全”應用程式下的“使用者和組”中可以找到角色列表和新增新角色的表單。
組
組是執行類似任務的使用者集合。例如,可以有一組變更經理,他們可以批准生產中的變更,或者可以有一個採購組,他們有權提出採購訂單等。可以透過“系統安全”→“使用者和組”→“組”訪問該組。
最佳實踐始終是將使用者分配給組或反之亦然,然後將角色分配給組。通常,不建議直接將使用者分配給角色。原因如下例所示:
假設在 BookWorm 有限公司(在 ServiceNow 中)的許多組中,有一個 IT 團隊組,在 IT 團隊下有一個“全棧工程師”子組。除此之外,還有幾個角色,即“後端 IT 服務”和“前端 IT 服務”。全棧工程師需要同時分配這兩個角色,以便他們擁有前端和後端 IT 服務的訪問許可權和許可證許可權。
一位精通後端技術和前端技術的全棧工程師加入了 BookWorm 有限公司。因此,與其分別將此使用者分配給兩個角色(後端 IT 服務和前端 IT 服務),不如建立一個全棧工程師組,並將此組分配給兩個角色,即後端 IT 服務和前端 IT 服務,這將是一個好主意。
現在,對於所有加入 BookWorm 有限公司的全棧工程師,管理員只需將該全棧工程師使用者分配給全棧工程師組(IT 團隊的子組)即可。
讓我們在 ServiceNow 中實際實現上述示例,以更好地理解此概念。
實踐
首先,我們將建立一個組,即 IT 團隊及其子組全棧工程師。在導航過濾器中,搜尋“使用者管理”,然後選擇“使用者管理”下的“組”模組。內容框架中將開啟以下螢幕。
單擊“新建”按鈕並提供詳細資訊。僅“名稱”足以識別組。您還可以提供組電子郵件並從使用者列表中選擇經理。“父級”標籤用於在組中建立分層結構,因此對於 IT 團隊組,我們可以將其留空;對於“全棧工程師”組,我們可以將 IT 團隊組指定為父級。
既然我們已經建立了組,讓我們繼續建立兩個角色——後端 IT 服務和前端 IT 服務,這些角色將分配給“全棧工程師”組。在“使用者管理”中,轉到“角色”模組。
單擊“新建”按鈕並提供角色的名稱。將應用程式保留為“全域性”,以允許此角色在 ServiceNow 中的每個應用程式中實現。“授予提升的許可權”意味著分配給此角色的使用者將獲得比標準使用者更多的訪問許可權/許可權。他們可能需要管理某些功能。
現在,我們必須將這些角色分配給我們的組。再次轉到“組”模組,並在“新建”按鈕旁邊的內容框架頂部搜尋我們的組“全棧工程師”。
開啟組“全棧工程師”,您現在將看到一個新的部分來新增角色或組成員。在“角色”選項卡中,單擊“編輯”按鈕,將出現以下螢幕。
在集合框中搜索我們剛剛建立的角色“前端 IT 服務”。選擇角色並單擊箭頭按鈕將角色新增到此組。最後,按“儲存”按鈕。您將返回組模組的主螢幕。使用右上角的“更新”按鈕更新記錄。同樣,對後端 IT 團隊服務重複此過程。
讓我們繼續在 ServiceNow 中新增一些使用者。導航到“使用者管理”應用程式中的“使用者”模組,然後單擊“新建”按鈕。
輸入新使用者的詳細資訊,然後按“提交”按鈕。同樣,您可以新增更多使用者。我們在這裡添加了兩個新使用者,John Newman 和 Cindy Davis。
要將組“全棧工程師”分配給這些使用者,請再次開啟新建立的使用者,然後滾動到使用者的底部。您將看到一個新的部分,用於向此使用者新增角色或組。
轉到“組”選項卡,然後單擊“編輯”按鈕。將出現以下螢幕:
在集合框中搜索組“全棧工程師”,選擇組並單擊箭頭按鈕將此組新增到使用者 John Newman。對 Cindy Davis 重複類似的過程。因此,最終我們建立了使用者、組和角色。然後我們將角色新增到組,並將組新增到使用者。
表、列和欄位
讓我們學習 ServiceNow 中的表、列和欄位是什麼。我們將從瞭解表開始。
表
表是 ServiceNow 中的資料集合。應用程式和模組使用表來儲存、顯示和處理資料。例如,“事件”應用程式有一個事件表。同樣,還有使用者表、變更請求表等。
要檢查或更新任何表的結構,請使用“系統定義”應用程式的“表”模組。
可以在內容螢幕的頂部區域搜尋表名。
讓我們探索事件表。單擊所需的表後,我們可以找到表中的所有列、列型別(整數、字串等)、最大長度等。可以使用“新建”按鈕向表中新增新列。
這裡需要注意的重要一點是,表中的每一行都指向唯一的記錄。例如,如果在 BookWorm 有限公司為全棧工程師組報告資料庫連線問題而提出了事件 **IN3325643**,則將在事件表中新增一個新行,該行特定於事件記錄 **IN3325643**。
要在表中瀏覽資料,請在導航欄中搜索“<tablename>.list”(在本例中為 incident.list)。
如果我們關注此事件記錄,則此記錄中的每一列都表示具有特定值的欄位。例如,此事件記錄 **IN3325643** 的“呼叫者”列為 Abel Tuter,這是此記錄的欄位之一。要開啟任何記錄,請從列表中單擊事件編號。
同樣,您可以瀏覽其他表,例如使用者、問題、變更等。我們甚至可以根據業務需求為自定義應用程式建立新表。可以在“表”模組→內容框架頂部區域的“新建”按鈕中建立新表。
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等。雲計算的一個完美示例是谷歌文件。所有文件都儲存在谷歌雲中,您可以隨時隨地從任何裝置訪問您的文件,而無需在您的系統中安裝任何特定軟體(文件檢視器/編輯器)。您的文件和您可以訪問文件的應用程式都位於雲中。
下圖概述了雲計算。
雲計算可以根據組織或個人的需求和業務需求以多種方式實施。雲基礎設施可以以多種方式設定,這些方式被稱為雲部署模型。
部署模型型別
部署模型型別如下:
公有云
這種型別的雲可供公眾免費使用。它可能是大型公司或政府組織擁有的,提供免費服務。例如:Gmail、Dropbox、Microsoft Azure等。
私有云
私有云專供單個組織用於其內部目的。它們通常伴隨著防火牆,阻止公眾使用該雲。例如,一家大型跨國公司為其多個子公司或業務部門運營私有云,用於其內部計算/共享資源。
社群雲
這是公有云和私有云之間的一種模式。只有選定的組織或具有相同業務線或相同議程的使用者社群才能訪問這種型別的雲。例如,所有銀行都維護一個公共雲,其中包含貸款違約者的資料庫,各銀行之間共享該資料庫以在發放新貸款時參考。
混合雲
這種型別的雲基礎設施混合了上述任何部署模型(公有云、私有云和社群雲)。例如,一家大公司維護一個公有云和私有云的混合雲。公司的所有敏感資訊,如未來戰略、內部政策等,都儲存在私有云中並由私有云處理,而產品詳細資訊、價格、訂單等公共資訊則在公有云中處理和儲存。
雲服務模型
還存在雲服務模型,這些模型根據雲服務提供商提供的服務進行分類。我們討論了以下三種雲服務模型:
基礎設施即服務 (IaaS)
這是雲服務的最低級別,客戶只從雲服務提供商那裡獲取計算資源或虛擬硬體,如儲存、CPU、RAM等。客戶完全擁有在雲中管理應用程式、作業系統、軟體、資料庫等的權利。例如:Rackspace、Digital ocean等。
平臺即服務 (PaaS)
這是IaaS的更高級別。在這裡,除了計算資源/虛擬硬體之外,雲服務提供商還提供作業系統、一些軟體服務和工具。客戶擁有使用這些軟體服務/工具開發和維護應用程式的權利。例如:Google App Engine、Apache Stratos、ServiceNow等。
軟體即服務 (SaaS)
此服務模型透過網際網路提供完全可用的、隨時可用的軟體。服務提供商完全擁有管理軟體、伺服器、資料庫、基礎設施等的權利。SaaS服務可以是免費的,也可以按月/年付費。例如:Salesforce、Google Apps、ServiceNow等。
我們可以根據下圖總結雲的部署模型和服務模型。
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引導設定”,然後單擊“開始”按鈕,如下所示。
整個設定被組織成公司、連線性、基礎資料、CMDB等類別。我們必須使用互動式和引導式選單逐個配置每個類別。每個類別的完成進度都會顯示在內容框架旁邊,並且總完成狀態也會顯示在內容框架的頂部。
我們可以按任何順序配置類別,也可以跳過任何特定類別的配置。從頭開始配置ServiceNow的任務非常龐大,因此我們可以將配置每個類別的任務分配給各個管理員使用者。
引導設定中的步驟非常詳細且不言自明。您可以嘗試使用引導設定並嘗試配置各種類別。每個類別中都有說明和幫助作為參考。
匯入集
匯入集用於從外部來源(如Excel、JDBC等)將資料匯入ServiceNow。資料匯入ServiceNow後,將對映到相關的ServiceNow表中。資料可以手動匯入一次,或者我們可以安排定期自動匯入。讓我們藉助示例逐一討論這兩種匯入方式。
手動匯入
可以使用“系統匯入集”應用程式的“載入資料”模組手動匯入資料。例如,我們必須在ServiceNow中匯入5個組。在ServiceNow中儲存組的表是sys_user_group。要瀏覽此表中的資料,只需在導航欄中鍵入“sys_user_group.list”。
假設我們在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”。最後,點選提交。
流程完成後,您將看到上面的螢幕,狀態為已完成,以及接下來需要執行的步驟。首先,讓我們轉到“下一步”下的“匯入集”。
您可以看到,匯入集已建立,狀態為“已載入”,這意味著 Excel 檔案中的資料已載入到我們的中間表“u_user_group_import”中。您可以透過在導航欄中搜索 u_user_group_import.list 來檢查此中間表中的資料。
現在讓我們繼續為這些匯入的資料建立一個轉換對映。在轉換對映中,我們基本上建立了中間表和目標表(sys_user_group 系統表)之間的對映,這意味著中間表的哪一列對應於目標表的哪一列,以便可以相應地將資料載入到目標表中。
轉到“系統匯入集”應用程式下的“建立轉換對映”模組,併為轉換對映命名。選擇源表(在本例中為 u_user_group_import)和目標表(為 sys_user_goup)。由於我們必須使此轉換對映保持活動狀態,請選中活動框並選中“執行業務規則”框。業務規則是一組規則,當對錶進行任何插入或更新操作時,這些規則就會執行。
例如,如果使用者未在欄位中輸入任何資料,則會自動設定預設值。如果您想在將資料插入目標表之前處理資料,您甚至可以提供您自己的指令碼,為此請選中“執行指令碼”框。
現在,我們已經建立了一個轉換對映,我們可以將源表的列對映到目標表,或者允許 ServiceNow 為我們進行自動對映。轉到“系統匯入集”→“管理”→“轉換對映”下的“轉換對映”模組。
選擇我們剛剛建立的轉換對映,並檢查“相關連結”部分。有兩個選項:自動對映和對映輔助。點選“自動匹配欄位”,您將在“欄位對映”選項卡中找到所有自動完成的對映。
您也可以透過單擊“對映輔助”來手動進行對映。
讓我們執行此轉換對映以將資料載入到我們的目標表中。這是我們的最後一步。轉到“系統匯入集”中的“執行轉換”模組。選擇我們剛剛建立的轉換對映,然後單擊“轉換”。
我們將看到以下顯示……的螢幕。
現在,我們將轉到 sys_user_group 表,並檢查我們的組是否已成功匯入。
由於我們是第一次匯入使用者組,因此我們需要建立匯入表、轉換對映等。由於我們已經有匯入表和轉換對映,因此在所有後續的使用者組匯入中,這些工作量將減少。
計劃資料匯入
如果我們的 ServiceNow 從某些外部系統接收資料,則計劃資料匯入非常有用。ServiceNow 可以透過 FTP、HTTP、SCP 等連線到其他系統。我們也可以定期在 ServiceNow 中上傳檔案,以便計劃的匯入過程可以提取它。
讓我們舉一個例子,其中我們有一個基於 UNIX 的外部系統,它每天都會生成一個檔案(在固定路徑中),其中包含加入 BookWorm 有限公司的新員工的詳細資訊。
ServiceNow 應該從外部系統提取此檔案,處理此檔案,最後將資料匯入 sys_user 表。讓我們逐步實現這一點。首先,我們必須建立一個數據源,導航到“系統匯入集”應用程式下的“資料來源”模組。
提供資料來源名稱、匯入集表(將建立新表)、ServiceNow 將提取的檔案格式(CSV、XML、Excel、Jason 等)。這裡,我們以 **csv** 為例,因此我們也必須提供 **csv 分隔符**,在我們的例子中為“,”(逗號)。現在選擇檔案檢索方法,這裡我們使用 FTP,並且我們必須提供伺服器、檔案可供提取的路徑名、FTP 使用者名稱和密碼。
單擊提交按鈕後,再次開啟資料來源,然後單擊“相關連結”部分中的“測試載入 20 條記錄”。ServiceNow 現在將嘗試透過 FTP 測試載入記錄,因此請確保檔案存在於指定位置。
現在,測試載入後,我們必須建立轉換對映。導航到轉換對映並單擊新建以建立新的轉換對映。提供我們在資料來源定義期間建立的源表名稱,並將目標表設定為 sys_user。
提交後,開啟新建立的轉換對映並轉到“相關連結”部分。在這裡,您可以使用自動對映或使用對映輔助(用於手動對映),如果自動對映無法正確檢測欄位。
單擊更新以確認對映。
現在,是時候建立計劃匯入。導航到“系統匯入集”應用程式中的“計劃匯入”模組,然後單擊新建以建立新的計劃匯入。選擇我們已建立的資料來源,並選擇執行此計劃匯入的頻率。可以是每日、每週、每月或定期。讓我們將其設定為每天 08:00 執行。
單擊提交,並在計劃匯入執行後檢查使用者表。資料應匯入到 sys_user 表中。
SLA 配置
SLA 代表 **服務等級協議**,它是服務提供商和服務消費者(客戶)之間達成的承諾或合同,也可以是組織內部各個部門之間的承諾。此合同明確規定了提供商應提供的服務級別、響應時間、事件解決時間、處罰(如有)、正常執行時間、系統性能等。
例如 - BookWorm 有限公司在其組織內實施了 ITIL,這樣,在組織內報告的每個事件都應記錄在 ServiceNow 中,並歸類為以下四類之一:關鍵、高、中和低。
BookWorm 有限公司的 IT 部門和業務部門之間簽署了一份 SLA,明確定義了每類事件的解決時間限制:
關鍵 - 6 小時,高 - 24 小時,中 - 48 小時,低 - 72 小時
這稱為解決時間。類似地,還有一個響應時間 SLA,它定義了在 ServiceNow 系統中確認事件(或將事件分配給相應組)的時間限制。
關鍵 - 30 分鐘,高 - 60 分鐘,中 - 5 小時,低 - 8 小時。
為了定義 SLA,我們在“SLA 應用程式”中有一個名為“SLA 定義”的模組。要定義新的 SLA,請開啟 SLA 定義模組並單擊“新建”按鈕。
讓我們在事件表中建立一個 SLA。我們也可以選擇在其他表(如變更、問題等)中建立 SLA。首先,從關鍵事件的響應時間開始。提供 SLA 的名稱,選擇型別為 SLA,選擇目標為響應,表為事件。工作流用於升級目的。
例如,如果 50% 的 SLA 時間已過,而事件未得到解決/確認,我們可以選擇向該團隊的領導傳送警報電子郵件。然後,如果 75% 的 SLA 時間已過,我們可以選擇向該團隊的經理傳送電子郵件,依此類推。我們將在下一節中更詳細地瞭解工作流。
現在,選擇持續時間為使用者定義,並將持續時間設定為 30 分鐘,因為它是針對關鍵事件的。然後選擇計劃,這意味著如果我們想計算 24x7 的 SLA 時間,則排除週末,僅排除週日等。
現在讓我們設定條件,以便此 SLA 附加到每個新的關鍵事件。向下滾動到下一節,在那裡,您可以提供以下給出的啟動條件:
事件處於活動狀態。
事件是新的。
事件的優先順序為關鍵。
此外,對於停止條件,我們選擇在事件被分配並移至“進行中”狀態後停止 SLA。
最後,單擊提交。現在,我們將建立一個新的關鍵事件,並檢查此 SLA 是否附加到該事件。
從事件列表中再次開啟事件,然後向下滾動到“任務 SLA”部分。您可以看到,我們的新 SLA 已附加,並顯示了違反響應 SLA 的剩餘時間。
同樣,也可以建立解決 SLA,之後,您可以在“任務 SLA”部分看到兩個單獨的 SLA,即響應和解決,附加到事件。
工作流
ServiceNow 將工作流定義為自動執行應用程式中流程的一系列活動。它基本上是一個流程圖,記錄了在發生所需事件後需要逐步觸發的所有活動。讓我們透過 BookWorm 有限公司的示例來理解這一點。
我們必須為分配給前端 IT 團隊的每個變更請求新增一個新的工作流,該工作流包括兩個活動:
如果在變更請求中選擇“前端 IT 團隊”作為分配組,則應自動將“服務”欄位中的值設定為“IT 服務”。
前端 IT 團隊的每個變更請求都需要其經理 Cristina Sharper 的批准。
對於工作流,我們有一個名為“工作流編輯器”的模組。在導航欄中搜索並點選“工作流編輯器”。點選“新建”以建立新的工作流。在這個螢幕中,我們也可以看到現有的工作流,並且可以編輯它們。您可以看到下面的螢幕:
輸入工作流的名稱以及需要為其建立工作流的表。我們也可以在此處設定工作流條件,但也可以稍後設定。
現在,工作流已建立,讓我們在此工作流中新增條件和活動。點選左上角選單欄,然後轉到“屬性”。
在“屬性”中,轉到“條件”選項卡,為觸發工作流設定條件。在這裡,我們將選擇“如果指派組是前端IT團隊”。我們可以新增多個條件,並用AND/OR組合。然後,點選“更新”。
在右側框架中,轉到“核心”選項卡。在這裡,您將看到一系列活動,我們可以在工作流中新增這些活動,例如審批、條件、任務等。您可以繼續嘗試它們。在此示例中,我們將使用“審批使用者”(在“審批”主要活動下)和“設定值”(在“實用程式”主要活動下)。
首先,讓我們將“設定值”拖到工作流中。拖動“設定值”活動後,將開啟一個彈出視窗,我們必須提及需要設定值的欄位。我們將選擇“服務”欄位,並將值設定為“IT服務”。
現在,您將在工作流中看到我們的活動,但是目前還沒有任何箭頭連線它。因此,首先,我們必須刪除“開始”和“結束”活動之間的現有箭頭,並在“開始”和“結束”之間插入我們的“設定值”活動。
選擇“開始”和“結束”之間的現有箭頭,然後點選鍵盤上的刪除按鈕。然後,從“開始”活動的黃色圓點拖動一個箭頭到“設定值”活動。將生成一個新的箭頭。
現在,我們必須為審批使用者新增另一個活動。拖動“審批使用者”活動,並執行與上述相同的操作。
這就是我們最終工作流的樣子:
現在,點選左上角選單欄,然後點選“釋出”以使我們的工作流生效。
釋出後,我們的工作流將變為活動狀態,當任何變更請求被分配給前端IT團隊時,我們的新工作流將被觸發。
通知
通知用於在發生某些事件(例如事件優先順序的更改、事件狀態的更改等)時通知或向用戶傳送警報。通知通常透過電子郵件傳送。
首先,要開始設定通知,請檢查 ServiceNow 中是否已配置電子郵件設定。轉到系統郵箱的“電子郵件屬性”模組,選中“啟用電子郵件傳送”框和“啟用電子郵件接收”框。點選“儲存”。
現在,讓我們建立一個通知,每當任何嚴重事件被分配給“前端IT團隊”組時,都會向團隊經理Cristina Sharper傳送一封電子郵件。轉到“系統通知”應用程式下的“通知”模組。
現在,輸入通知的名稱,以及為此通知建立的表,然後在“何時傳送”選項卡下設定條件。
現在,轉到“誰將接收”選項卡,並設定將接收電子郵件的使用者。
最後,在“它將包含什麼”選項卡中,我們可以輸入電子郵件的主體/文字。
現在,一旦任何嚴重事件被分配給前端IT團隊,其經理將收到關於該事件的電子郵件通知。
報表和計劃作業
報表用於根據 ServiceNow 中可用的資料建立報表。報表可以提供與事件、使用者、變更、問題等相關的資訊。我們可以以條形圖、餅圖、圖形格式或根據業務需求生成報表。報表也可以根據定義的頻率由計劃作業自動生成。
讓我們為 BookWorm 有限公司建立一個報表,其中前端IT團隊的經理將收到每週報表(透過計劃作業),其中包含分配給前端IT團隊的嚴重、高、中和低優先順序事件的數量。
讓我們從建立報表開始。導航到“報表”應用程式下的“新建”模組。輸入報表名稱。在“源型別”中,選擇表,因為我們必須從事件表中提取資料。最後,點選“執行”。您將看到表中的所有資料。
現在,我們可以新增過濾器來新增條件,以便僅提取基於我們需求的特定資料。
點選“下一步”,然後選擇所需的報表型別,例如條形圖、餅圖、時間序列等。我們將在這裡使用條形圖。選擇條形圖並點選“下一步”。
點選“下一步”,您現在就可以配置報表了。在“分組依據”選項中,我們將選擇“優先順序”,在“聚合依據”中,我們將選擇“計數”。
點選“下一步”,系統將提示您自定義報表的樣式。您可以更改條形的顏色、標題的字型、標題的位置等。
最後,點選“儲存”儲存此報表。您可以使用右上角的按鈕執行報表以檢視結果。
接下來,我們必須使用計劃作業每週安排此報表。轉到“系統定義”應用程式下的“計劃作業”模組,然後點選“新建”。
在下一個螢幕上,選擇“自動化報表的生成和分發”。然後輸入計劃作業的名稱,選擇我們剛剛建立的報表,並新增接收報表的使用者。更改“執行”欄位以使其每週執行一次。我們還可以提供關於報表的介紹性訊息。最後,點選“提交”。
您可以在計劃作業模組中報表的列表中找到此新報表。
服務目錄
服務目錄為使用者提供自助服務機會。使用者可以從列表(目錄)中選擇所需的服務並提交請求。它具有線上購物的外觀和感覺,使用者可以在購物車中新增服務(硬體、軟體或任何其他列出的服務),最後訂購它們。
我們還可以將專案捆綁在包中,然後直接訂購包。例如,在 BookWorm 有限公司,如果前端IT團隊的新成員加入,他/她可以簡單地訂購一個“前端IT套件”包,其中包含團隊內使用的軟體,例如Rational Developer、Notepad++、WinSCP和SQL Developer。
因此,使用者將提出一個請求,其中包含四個專案(Rational Developer、Notepad++、WinSCP和SQL Developer)。對於每個專案,可能會有不同的任務,例如,採購團隊可能需要獲取軟體的新許可證,然後IT團隊需要在機器上安裝軟體,或者某些軟體需要額外的審批等。
相應地,ServiceNow 服務目錄中為此提供了三個表:
請求表
專案表
任務表
所有這些表都是相互關聯的,您可以在服務目錄應用程式→開啟記錄模組中找到這些表。
ServiceNow 提供了一些預設類別和專案。轉到自助服務應用程式的服務目錄模組。您可以在內容框架中找到服務目錄的主頁。
讓我們為 Microsoft Access 和 Cisco Jabber 提交一個示例請求。轉到“軟體”,然後點選“Microsoft Access”。您可以新增到購物車或直接訂購該專案。
在這裡,我們也必須新增 Cisco Jabber,因此我們將選擇“新增到購物車”並繼續購物。按照類似步驟新增 Cisco Jabber,最後點選“繼續結賬”。提交請求後,您將看到以下頁面和三個表中的條目。
開啟請求表並選擇您的請求。您將看到附加到此請求的專案。點選專案,您將看到與該專案關聯的任務。
您還可以使用“我的目錄”、“我的類別”和“我的專案”模組中的“目錄定義”應用程式在 ServiceNow 中建立您自己的服務目錄和專案。
診斷和故障排除
系統管理員的職責不僅限於應用程式和模組的設定和配置。系統管理員還負責透過參考日誌、統計資料、記憶體利用率、CPU 使用率等來保證系統的效能和響應時間。
ServiceNow 提供了一個名為“系統診斷”的應用程式,它是許多對系統管理員有用的模組的集合。名為“診斷頁面”的模組列出了伺服器、資料庫、統計資料等的完整配置。“診斷頁面”分為四個主要部分:
叢集節點狀態
系統概述
資料庫概述
資料庫連線
叢集是節點的集合,節點是負責儲存和處理資料的單個系統。在叢集節點狀態部分,您將找到記憶體利用率、事務命中次數、登入使用者、JVM 執行時間等的詳細資訊。系統概述部分列出了與事件、POP3、SMTP 等相關的詳細資訊。
資料庫概述部分提供了與資料庫版本、驅動程式、型別等相關的詳細資訊,最後,資料庫連線提供了在 ServiceNow 中執行的查詢的日誌、連線詳細資訊等。
另一個重要的應用程式是“效能分析”。其故障排除下的“診斷”模組列出了 ServiceNow 中接收到的每一個錯誤和異常。
點選任何錯誤以查詢導致錯誤的底層指令碼。
ServiceNow - 開發
ServiceNow 提供了許多內建功能和應用程式,我們可以輕鬆地使用它們在任何組織中實現 ITSM。同時,也存在設定不同流程和功能的業務需求。ServiceNow 具有高度可定製性,開發人員可以使用 Javascript 原理輕鬆建立基於客戶需求的應用程式和模組。
Javascript 是 ServiceNow 指令碼編寫的必要條件。在本節中,我們將概述 ServiceNow 開發。
應用程式建立概述
ServiceNow 提供了一個名為“Studio”的應用程式,您可以在其中建立新的應用程式,提供原始碼,為您的應用程式建立新表等。“Studio”提供了一個引導式且易於使用的介面來建立新的應用程式。讓我們為 BookWorm 有限公司的以下案例建立一個新的應用程式。
前端IT團隊需要一個 ServiceNow 中的應用程式,管理員可以在其中釋出輪班排班表(shift ROTA)。每個員工都有 6 小時的輪班,團隊必須 24x7 全天候支援。
從導航器轉到 Studio,將開啟一個新視窗。點選“建立應用程式”。系統將提示您輸入應用程式名稱和說明。最後,點選“建立”。
您將在下面找到應用程式頁面。現在,是時候為我們的應用程式建立表了。轉到“建立應用程式檔案”。
在“資料模型”下點選“表”,然後點選“建立”。系統將提示您輸入新表的詳細資訊。輸入表的名稱,並將其餘詳細資訊保留為預設值。
現在向下滾動並開始定義這些表的列。我們有以下列定義,需要注意的重要一點是,我們在“成員”列中選擇了 sys_user 的引用。
現在,點選“輪班”列,然後選擇“建立選擇列表”,因為在這裡我們將建立輪班的選擇,例如 6:00-12:00、12:00-18:00、18:00-24:00 和 24:00-6:00。
因此,現在我們已經建立了表,我們的 Studio 應用程式如下所示。
Studio 已自動為我們建立了表單、列表、模組和應用程式選單。我們可以從“建立應用程式檔案”選項建立其他模組、表、UI 等,就像我們建立 ROTA 表一樣。
現在讓我們看看我們的應用程式在 ServiceNow 中的樣子。在導航欄中搜索 Frontend_IT_ROTA,然後轉到我們的新模組。
讓我們繼續在我們的應用程式中新增一些新的 ROTA 記錄。點選“新建”按鈕。
UI策略和操作
ServiceNow 將 UI 策略定義為一種工具,透過它我們可以動態地更改表單上資訊的顯示行為,並控制任務的自定義流程。另一方面,UI 操作用於使 UI 更加互動式、自定義化以及特定於使用者活動。讓我們透過一個例子來理解這一點。
假設,我們需要配置事件表單,以便如果任何事件被分配給前端 IT 團隊分配組,則“服務”欄位應變為不可見,“配置項”應被停用。此處的 UI 策略是:“如果分配組被選為前端 IT 團隊”,而此處的 UI 操作是:“服務欄位應變為不可見,配置項欄位應被停用”。
UI 操作可以透過易於使用的介面實現,也可以透過客戶端指令碼實現。編寫客戶端指令碼將有助於我們在欄位中執行高階操作。我們還將在本節後面演示客戶端指令碼。
這裡需要注意的重要一點是,UI 操作速度更快,並且先於客戶端指令碼執行。讓我們為我們的用例建立一個 UI 策略和操作。從導航欄中,開啟“系統 UI”應用程式下的“UI 策略”模組,然後單擊“新建”按鈕。
輸入表的名稱,在我們的例子中是“事件”。將應用程式保留為“全域性”。如果您找不到“全域性”選項,請導航到右上角的齒輪圖示,然後從“開發人員”選項卡中選擇應用程式為“全域性”。
現在,開始在下一節中給出條件。在我們的例子中,它是“分配組是前端 IT 團隊”。接下來是一些複選框,如下所示:
全域性 - 如果您希望全域性實施 UI 策略,請勾選。
載入時 - 如果您希望在每次重新整理頁面時執行 UI 策略,請勾選。
如果為假則反轉 - 如果您希望在更改條件時反轉我們建立的所有操作,請勾選。
繼承 - 如果您希望擴充套件指定表的表(在其中建立 UI 策略)繼承此 UI 策略,請勾選。
填寫所有必需的詳細資訊,然後按“提交”。
現在,再次開啟 UI 策略,您將找到輸入 UI 操作的選項。讓我們根據我們的用例給出 UI 操作。單擊 UI 操作部分中的“新建”按鈕。
我們將為“服務”和“配置項”欄位選擇以下操作。
單擊“提交”以確認您的 UI 操作,最後單擊“更新”以儲存 UI 策略中的更改。您現在可以轉到事件表單並驗證您的 UI 策略和操作。
ServiceNow 指令碼編寫
ServiceNow 中有兩種型別的指令碼編寫:客戶端和伺服器端。伺服器端指令碼編寫意味著處理在 Web 伺服器上進行,而客戶端指令碼編寫意味著處理在使用者的計算機上進行。每種型別的指令碼都可以完成特定的任務。讓我們討論兩種指令碼的示例:
客戶端指令碼編寫
客戶端指令碼編寫可用於各種場景,例如填充表單欄位中的某些預設值、顯示某些警報訊息、根據使用者在表單中另一個欄位中的響應設定一個欄位中的值、更改選擇列表等。客戶端指令碼主要有三種類型。
OnLoad() - 表單載入時執行此操作。
OnChange() - 更改表單中的特定欄位時執行此操作。
OnSubmit() - 提交表單時執行此操作。
讓我們為兩個用例建立一個客戶端指令碼。在我們的新應用程式“前端 IT 團隊輪班表”中,我們將實現一個警報“請每週使用一次此應用程式來設定輪班輪換”,一旦應用程式載入。然後,如果選擇輪班時間為凌晨 12 點到凌晨 6 點,我們將顯示警報“成員有權獲得輪班津貼”。
導航到 Studio 模組,開啟應用程式並單擊“建立應用程式”檔案。然後,在客戶端開發選項下選擇客戶端指令碼,並按如下所示提供所需的詳細資訊:
向下滾動並提供指令碼。我們將提供如下所示的警報。
Function onLoad() {
alert (“Please use this application once a week to set the shift rotation”);
}
單擊“提交”並載入您的新應用程式以檢視結果。
現在,讓我們實現下一個用例。在這裡,我們將使用 onChange。OnChange 函式由 ServiceNow 自動傳遞 5 個引數。
控制元件 - 配置客戶端指令碼的欄位
舊值 - 載入表單時(更改之前)欄位的值。
新值 - 更改後欄位的值。
isLoading - 布林值,指示更改是否作為表單載入的一部分發生。如果更改是由於表單載入,則值為 true。當表單載入時,表單上的所有欄位值都會發生更改。
isTemplate - 布林值,指示發生的更改是否由於模板填充欄位而導致。如果更改是由於模板填充,則值為 true。
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '12am-6pm') {
alert("The member is entitled for shift allowance");
return;
}
}
Glideform (g_form) 類
glideform 是用於控制表單及其欄位的類。我們可以執行諸如隱藏欄位值、根據其他欄位的響應設定欄位值、向選擇列表新增欄位等任務。
glideform 類包含許多方法。一些重要的方法包括 addOption()、clearOptions()、showFieldMsg()、clearMessages()、clearValue()、setValue() 等。
讓我們在事件表單中建立一個客戶端指令碼,如果選擇了前端 IT 團隊作為分配組,則在描述欄位中填充一些訊息。轉到 UI 策略並建立一個新的策略。在“應用位置”部分中將條件設定為“分配組是前端 IT 團隊”。
提交 UI 策略,再次開啟它,然後單擊“高階檢視”。稍後,您將找到提供指令碼的選項。
指令碼將自動填充 onCondition() 函式。onCondition 函式將根據我們在 UI 策略中給出的條件自動執行一次。需要注意的另一點是,有兩個指令碼,“如果為真則執行”和“如果為假則執行”。
一旦條件匹配,“如果為真則執行”指令碼將執行,如果我們更改欄位中的值,使得我們提到的條件不再滿足,則“如果為假則執行”指令碼將執行。
讓我們為兩者編寫一個指令碼。在這裡,我們將使用 setValue 和 clearValue 方法。要獲取需要在指令碼中提到的欄位名稱,請開啟事件表單並右鍵單擊所需的欄位,您可以在“顯示 - <欄位名>”格式中找到欄位名稱。
如果為真指令碼
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');
}
現在,開啟事件表單並檢查結果。
伺服器端指令碼編寫
伺服器端指令碼在 ServiceNow 伺服器或資料庫上執行。伺服器端指令碼編寫分為兩類:
業務規則
指令碼包含
讓我們逐一檢視每個類別。
業務規則
業務規則模組可以在“系統定義”應用程式中找到。要建立業務規則,請單擊“新建”。我們可以使用業務規則操作建立一個簡單的業務規則,它具有一個簡單的下拉介面。
您可以使用業務規則操作設定欄位的值或向表單中新增訊息。我們可以選擇何時執行業務規則,如下所示:
之前 - 業務規則中的邏輯在資料庫操作之前執行
之後 - 業務規則中的邏輯在資料庫操作之後執行
非同步 - 非同步業務規則在資料庫操作發生後執行其邏輯,但排程程式會將任務排隊儘快執行,但不一定立即在資料庫操作之後執行。
顯示 - 顯示業務規則在表單載入以及從資料庫載入記錄時執行其邏輯。
我們還可以選擇業務規則應執行的資料庫操作。讓我們在上一節中建立的前端 IT 團隊輪班表應用程式中建立一個業務規則操作。
如果輪班時間是凌晨 12 點到凌晨 6 點,我們必須將“備註”欄位的值設定為“監控 XO887 批處理作業”。給出名稱和表 frontend_it_rota。在“何時執行”選項卡中,將條件設定為輪班時間為凌晨 12 點到凌晨 6 點,並選中“插入”和“更新”框。
在“操作”選項卡中,為備註欄位提供您的條件。
我們還可以在此業務規則中提供自定義指令碼。要開始編寫自定義指令碼,請選中“高階”複選框,您將看到一個新的“高階”選項卡來編寫指令碼。
讓我們編寫一個指令碼,在未給出成員、時間或日期欄位時中止插入事務。我們將為此目的使用“current”和“previous”物件。
(function executeRule(current, previous /*null when async*/)) {
if((current.member = ' ') || (current.date = ' ') || (current.shift = ' '){
current.setAbortAction(true);
}
}
指令碼包含
使用指令碼包含,我們可以編寫自定義函式或類,然後在其他指令碼中根據需要多次使用它們。它們是一種可重用的指令碼;我們可以在其他客戶端或伺服器端指令碼中使用它們。但是,只有在其他指令碼顯式呼叫時,它們才會執行。要建立一個新的指令碼包含,我們有一個模組“指令碼包含”,位於“系統定義”應用程式下。單擊“新建”以建立一個新的指令碼包含。
在指令碼包含表單中,給出指令碼包含的名稱。API 名稱欄位是指令碼包含的內部名稱,當從其他應用程式呼叫此指令碼包含時,它將被使用。如果要在客戶端指令碼中使用此指令碼包含,請選中“客戶端可呼叫”複選框。在應用程式中,給出使用此指令碼的應用程式。在“可訪問自”欄位中,給出應用程式範圍。
讓我們為前端 IT 團隊輪班表應用程式中的以下情況編寫一個指令碼。首先,我們將編寫一個指令碼包含,它將檢查任何欄位中的無效字元。我們將定義一個函式,該函式將以字串作為引數,並根據字串中的字元返回 true 或 false。
我們將在我們的業務規則指令碼中使用此函式來驗證提交表單時,成員(姓名)欄位(在前端 IT 團隊輪班表應用程式中)中給定的值是否沒有任何無效字元。
開啟指令碼包含模組,以下是我們將使用的指令碼。
function validatefieldcharacters(fieldinput) {
var validcharacters = /^[a-zA-Z]+$/;
if(fieldinput.value.match(validcharacters)) {
return true;
} else {
return false;
}
}
現在,讓我們編寫業務規則指令碼以驗證成員欄位。開啟業務規則模組併為我們的應用程式前端 IT 團隊輪班表建立一個新的業務規則。
var memberfieldstatus = validatefieldcharacters(current.member)
if(memberfieldstatus == false) {
gs.addErrorMessage(" Special characters not allowed in member field");
current.setAbortAction(true);
}
除錯
如果我們的指令碼未按預期執行,或者我們遇到某些錯誤,我們可以使用各種除錯技術。讓我們討論我們可以除錯客戶端和伺服器端指令碼的各種方法。
除錯客戶端指令碼
除錯客戶端指令碼的最佳方法是參考日誌。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 日誌和欄位觀察器”選項。
Javascript 日誌將在 ServiceNow 瀏覽器視窗主視窗底部的新的部分中開啟。
除了 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