※この記事は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=<条件>