※この記事はServiceNow初心者が学習用のために記載した記事です。内容について誤っている場合がございます。不足点などございましたらコメントいただけますと幸いです。
ServiceNowのURLの仕組みは、基本的に 「インスタンスのドメイン」+「パス」+「パラメータ」 で構成されており、以下のような形になる
https://<インスタンス名>.service-now.com/<パス>?<パラメータ>
1. インスタンスのドメイン
https://<インスタンス名>.service-now.com/
ServiceNowの各インスタンスにはユニークなドメイン名が割り当てられており、インスタンスごとにURLが異なる
例:
-
https://dev12345.service-now.com/
(開発環境) -
https://companyxyz.service-now.com/
(本番環境)
2. パス部分
パスには、開くモジュールや機能によって異なる値が入ります。
(1) 通常のテーブルレコードのURL
特定のテーブルのリストやレコードを開く場合のURL形式は以下のとおり。
-
リスト(一覧表示)
https://<インスタンス名>.service-now.com/<テーブル名>_list.do
例:
https://dev12345.service-now.com/incident_list.do
-
incident_list.do
はincident
テーブルの一覧を開く
-
-
フォーム(個別レコード表示)
https://<インスタンス名>.service-now.com/<テーブル名>.do?sys_id=<レコードのsys_id>
例:
https://dev12345.service-now.com/incident.do?sys_id=1234567890abcdef
-
incident.do
はincident
テーブルの単一レコードを開く -
sys_id=1234567890abcdef
で特定のレコードを指定
-
(2) ナビゲートするためのURL
- ServiceNowには 「ナビゲートURL」 というものがあり、以下のように
nav_to.do
を使って特定のページへ遷移できます。- URLに .do を付けることで、特定のテーブルのデータをフォーム形式で表示する
- この .do は 「特定のテーブルの1レコードを開くためのエンドポイント」 として機能する
- エンドポイント:WebサービスやAPIの世界では、特定の機能やデータにアクセスするためのURL
https://<インスタンス名>.service-now.com/nav_to.do?uri=<遷移先>
例:
-
https://dev12345.service-now.com/nav_to.do?uri=%2Fincident_list.do
-
incident_list.do
(インシデント一覧ページ)へリダイレクト- ※%2F は URLエンコード された "/"(スラッシュ)を意味する
-
-
https://dev12345.service-now.com/nav_to.do?uri=%2Fsc_cat_item.do%3Fsys_id%3Dabcdef123456
-
sc_cat_item
(カタログアイテム)でsys_id=abcdef123456
のレコードを開く
-
この仕組みを使うと、ServiceNowの内部リンクを柔軟に作成できる
3. パラメータ
URLの末尾に ?
をつけて、クエリパラメータを追加できます。
(1) sysparm_query
でフィルタを適用
特定の条件でレコードをフィルタリングできる
※System Parameter Queryの略?
https://<インスタンス名>.service-now.com/incident_list.do?sysparm_query=priority=1
-
priority=1
で「優先度が1のインシデント」を表示
複数条件を指定
sysparm_query=priority=1^active=true
-
^
(キャレット)を使って条件をつなぐ
(2) sysparm_view
でビューを指定
https://<インスタンス名>.service-now.com/incident_list.do?sysparm_view=ess
-
sysparm_view=ess
でエンドユーザー向けビュー(ESSビュー)を適用
まとめ
ServiceNowのURLは以下のような形式で構成される
https://<インスタンス名>.service-now.com/<パス>?<パラメータ>
-
テーブルのリストを開く →
<テーブル名>_list.do
-
特定のレコードを開く →
<テーブル名>.do?sys_id=<ID>
-
ナビゲートURLを使う →
nav_to.do?uri=<エンコードされたパス>
-
クエリパラメータでフィルタリング →
sysparm_query=<条件>