【ServiceNow】ServicePortalのMy Requestsにすべての要求を表示するビューを追加する

## 概要
ServiceNowのService Portalに「Requests」というメニューがあり、操作者が作成した要求を表示することができます。
ただし、標準仕様ではビューが「Open Requests」と「Close Requests」しか用意されておらず、全ての要求を一覧で表示させることができません。
そのため、すべての要求を表示させるビューを追加していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/645d8171-e737-537c-a897-0a9092d17161.png)
↓↓↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/042671ac-0eaf-c20d-6087-9b6677615e25.png)


### 環境
PDIで作成しています。
バージョンはSan Diegoです。
System Administrator（admin）で操作しています。

## カスタマイズ手順
①アプリケーションナビゲーターからService Portal > Service Portal Configuration へ移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/88dbfbf0-b2af-37b7-0c0c-ac7877beb8ca.png)
②Widget Editorを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/7d955234-30d4-70b3-0efd-fbe6da924e83.png)
③Edit an existing widget下のプルダウンで My Requests(my_requests-v2) を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/0c8425ff-0015-2a7a-8d4a-8dad224888e9.png)
④My Requests(my_requests-v2) は読み取り専用のウィジェットで編集ができないため、既存のウィジェットをコピーして新たなウィジェットとして編集します。
メニューから Clone "My Requests" を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/06dce365-5042-f75c-1f3e-af2c5aff2269.png)
⑤適宜ウィジェットの名前とIDを設定します。
送信ボタンをクリックしてクローンウィジェットを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/ea6ce0b4-982e-7363-d3b5-02e556dd0cb1.png)
⑥Widget選択欄で上記手順で作成したウィジェットを選択し、切り替えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/22fe8b9a-1325-8ea3-d63c-82ec0c0d081d.png)
**以降のスクリプトの編集行はバージョンによって異なる場合があります。画像の位置をご参考ください。**
⑦HTML Templateを以下のように編集します。
    ・10行目の下に以下の行を追加します。
```
<option value="all" selected="true">${All}</option>
```
   
 ・12行目から「selected="true"」の記載を削除します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/73baac43-7cd2-1562-59ea-3b51a047e326.png)
⑧Client Scriptを以下のように編集します。
    ・11行目の「open」→「all」に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/e77000dd-0700-2850-0bb6-998a200b6dc3.png)
⑨Server Scriptを以下のように編集します。
    ・12行目の「"Search open requests"」→「"Search all requests"」に変更します。
    ・22行目の下に以下の2行を追加します。
```
	else if (localInput && localInput.view === 'all')
		data.filterMsg = gs.getMessage("Search all requests");
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/9a5185c5-8c4b-5999-f138-b58c107d401e.png)
    ・85行目の「gr.addActiveQuery();」→「gr.query();」に変更します。
    ・114行目の「task.addQuery('active',1);」→「task.query();」に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/3ad4aa5f-d597-2d39-e6f2-70789282ab0e.png)
    ・128行目の「ritmGR.addQuery('request.active', 1);」→「ritmGR.query();」に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/6263cc7b-2531-22eb-e857-c05f2f747b13.png)

⑩編集が完了したらSaveをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/9d96e5b7-b110-ae98-aa95-ee4b7822139c.png)
⑪ヘッダーメニューのDesignerをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/043b2b67-fddf-0173-b2b3-3eb1c0f33a0a.png)
⑫ページの一覧が表示されるので Request(my_requests)を探して開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/b0239628-c0ee-c6b8-a3ad-e6dd92e73195.png)
⑬画面左側のWidgetsより、上記手順で作成した My Requests を探します。（同名のウィジェットが複数個ある場合は物理名順に並びます。）
⑭作成した My Requests を、右側のコンテンツエリアの既存の My Requestsウィジェットの上へドラッグアンドドロップで配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/27204c8c-632b-0b8a-2155-e05376e0672f.png)
⑮既存の My Requets ウィジェットの右上のごみ箱アイコンをクリックします。
⑯Confirmationのポップアップが開いた場合はYesをクリックし、削除を完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1984141/03e8ee36-f3c5-f277-aa81-f30f58c306ac.png)

以上で設定は完了となります。