[Servicenow]カタログビルダーを使ってみた(テンプレート作成編)



前回、カタログビルダーを使ってカタログアイテムを作る記事を作成したので、
今回、テンプレートを作ってみることにしました。


##いざ、テンプレート作成

前回同様、カタログビルダーのダッシュボード画面に行き、テンプレート作成を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/222651b9-7c14-e2e6-4c9b-82118a527e87.png)

Create a catalog item templateを選択すると、itemのtypeとしてStandardなのか、RecordProducerなのかを選択できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/525a23ab-e1c0-26b1-c030-516ce61c8373.png)

超ざっくり説明すると、StandardはRequest,Request itemのデータを作成し、WFを回していくようなもの、
RecordProducerは、インシデントなど申請内容を直接テーブルに書きこみに行くものです。

Standardで作っていきたいと思います。
Standardを選択すると、ウィザードが立ち上がり、前回見たような画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/1613ead1-e482-c720-56e7-6265a006b77b.png)

##Template Details
ココでは、テンプレートの情報として、テンプレート名・説明、あとはUser Criteriaの設定ができます。
おそらくこのテンプレートを使用できるかどうかをCriteriaで制御できるようになっているのでしょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/bdccb4b0-e4e4-2b62-a153-9f8b10a505b5.png)
こんな感じで設定してみました。

##Detail 
Detailを開くと、アイテムの情報が設定できそうな画面になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/0fd18cc5-c8b6-edd7-8ecb-2138fb46ecca.png)
ココでアイテム名・説明などをテンプレートとして設定しておくことができそうです。
例えば、ハードウェア系のアイテムを作るときにPrefixを付ける、等のルールとして活用できるのかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/8e42306e-0a5f-9037-c1c1-e11d77474335.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/81008265-8861-d237-0a90-c18aa36a839e.png)

こんな感じで設定してみました。

##Location
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/aecc2dcd-817c-04eb-3a2c-aab35123382a.png)
Locationは、実際のアイテムが表示されるカタログ・カテゴリが設定可能です。
実際に作る際と同じ設定方法ですね。

##Questions

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/afe472c1-56d2-5c4e-5593-14b269bd95ee.png)

実際にカタログ作成する際と同様に、設定できるかと思っていましたが、ココは自由に設定できるというより、予め作成したQuestion Sets(おそらくVariable Set？)から選択する形みたいです。

[Select question setsを開いた画面]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/bd3e4bb2-00ef-3ccb-93b9-2ecd46794b89.png)

[Variable setの一覧]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/789f98b4-96e2-8a90-6df7-27fd75884232.png)

なので、テンプレートを作成する前に共通的な変数をVariableSetとして定義しておく必要があるようです。

テンプレートを選択すると、各変数が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/afa173ef-6903-d546-5594-f8c3992542ca.png)
やはり、中の変数などの変更・編集は出来ないようです。VariableSet使ってるから当然といえば当然。
下に出ている+を押すと、新たにVariableSetから追加が可能です。

##Setting
アイテム作成の際は、変更不可でしたがテンプレートとして作成する場合は、色々と変更ができるようになっていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/90368dd5-3e46-5216-07dd-ef9f8943ceab.png)

##Access・Flow
コチラも実際に作成する際と変わりないですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/77c2fa8d-3bbe-d42d-e446-efffd930c912.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/26699f5a-08da-aef4-6b52-b4fcb9cf44cc.png)

##overrides
これは、テンプレート独自のメニューですが、名前からすると、このテンプレートを使ってアイテムを作成した際にどの部分の変更を許可するか、という風に解釈しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/5a9ffe3f-0fbc-356b-597c-802dfe9afb61.png)

Can editを開いてみると、色々な項目が出てきます。おそらく解釈合ってる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/33db8944-b677-d2b9-fedd-8e9b2c6f7f70.png)

こんな感じで設定しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/260a454b-64d6-24ee-9371-95afb73613cf.png)

##Review and Submit
このメニューも実際に作成する際と変わらず、
内容を確認して登録させる画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/0fd52c1e-46c8-06bf-ec7e-eb071ab6e3d1.png)

##いざ、テンプレートを使ってみる
では、作ったテンプレートを使ってアイテムを作ってみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/f3eaf087-4e9f-e5a8-ea60-af43972e6ba8.png)
テンプレート選択で、「テストテンプレート」が出てきていますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/d29cbd13-3eb9-0f1f-b856-057d72f4e880.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/e9e6fa57-3062-5a52-4f22-8386749aab9b.png)

テンプレートの内容がちゃんと反映されています。
アイテムに必ず書かないといけないもの・共通で書きたいものをテンプレート化しておけるのはいいですね。書き漏れとかがなくなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/922262/abd9d116-821a-943d-0593-d979d769737d.png)


Locationも設定されていますし、Can Editで指定していないCatalogsには鍵がついて変更不可となっています。

他の画面も色々とみてみましたが、テンプレートの通りになっていたりしました。
テンプレート作れるっていうのはいいですね。同じようなものを簡単に量産できる。
ビルダー上で、Variabe setとか作れるようになれば(作れるけど知らないだけなのかも)もうちょっと使いやすいと思いました。テンプレート作るにもVariable setを定義するのはあまり経験が無いと大変ですもんね。