ServiceNow を運用していると、次のような要望は非常によく出てきます。
「インシデントの内容を見ながら、そのまま“関連する申請”を作らせたい」
本記事では、 インシデント詳細画面 → 別の申請画面(Service Portal)へ遷移し、インシデント情報を引き継ぐ方法を、 実務で使える形で解説します。
想定シナリオ(最も多い実務パターン)
- 利用者は Incident(INC0001234)を参照している
- 対応の過程で「追加作業の申請」が必要になる
- 申請画面では
- どのインシデントから来た申請か
- 関連インシデント を自動でセットしたい
👉 ユーザーに再入力させず、申請ミスも防ぎたい
全体の処理イメージ
インシデント画面
↓(URLにインシデント情報を付与)
Service Portal 申請画面
↓(Client Scriptで取得)
申請変数へ自動セット
手順①:申請側に「関連インシデント」変数を作成する
まず、申請画面にインシデントを保持するための変数を作成します。
変数設定例
| 項目 | 設定値 |
|---|---|
| Type | Reference |
| Question | 関連インシデント |
| Name | related_incident |
| Reference table | Incident [incident] |
| Read only | true(推奨) |
※ この変数は URLから受け取った値を表示・保持する目的のため、 通常は Read only にします。
手順②:インシデント画面から申請画面へ遷移するURLを用意
次に、インシデント画面から申請画面を開くためのリンクを作成します。
URL例(重要)
/sp?id=sc_cat_item
&sys_id=<申請カタログアイテムのsys_id>
&sysparm_incident_sys_id=${current.sys_id}
sysparm_incident_sys_id- インシデントの sys_id を渡すための独自パラメータ
sysparm_プレフィックス- ServiceNowで推奨される命名ルール
※ このURLは、
- UI Action
- メール通知
- 画面リンク
などから呼び出せます。
手順③:Catalog Client Script(onLoad)を作成
申請画面が表示された瞬間に、URLパラメータを取得します。
Client Script設定
| 項目 | 設定値 |
| Type | onLoad |
| UI Type | Service Portal |
| Active | true |
手順④:参考コード(URLパラメータ取得)
function onLoad() {
// URLパラメータを取得
var param = new URLSearchParams(location.search);
// 引き継ぎ元申請の sys_id を取得
var sourceReqId = param.get('sysparm_source_req_id');
// 値が存在する場合のみセット
if (sourceReqId) {
g_form.setValue('related_request', sourceReqId);
}
}
画面上の動き(利用者視点)
- Incident を表示
- 「関連申請を作成」リンクをクリック
- 申請画面が開く
- 関連インシデント欄に INC0001234 が自動表示
👉 利用者は入力不要でそのまま申請を進められます。
よくある設計ミス(注意)
❌ Business Rule でURLを取得しようとする
- URLはクライアント情報
- サーバー処理では取得不可
❌ URLの値をそのまま業務判断に使う
- URLは改ざん可能
- あくまで「画面補助情報」
👉 必ず画面で受け取り、正式な項目として保存してください。
実務向け設計ポイント
- URLパラメータは
- 一時的な文脈情報
- 画面を開いた瞬間に使い切る
- 保存が必要な情報は
- カタログ変数
- RITMフィールド へコピーする
まとめ
- インシデント → 申請の導線は非常に多い
- URLパラメータを使うことで
- UX向上
- 入力ミス防止
- カタログ再利用 が実現できる
Service Portal を使った申請設計では、 必ず押さえておきたい定番パターンです。
ぜひ、自身の環境に合わせて応用してみてください。
投稿者プロフィール
最新の投稿
お知らせ2026年1月1日ServiceNow 事例|申請画面から別の申請画面へ値を引き継ぐ実装方法(URLパラメータ活用)
お知らせ2025年12月31日ServiceNow 事例|ポータル申請画面で申請者を自動入力する方法
お知らせ2022年11月3日テーブルを作成してみよう!!
お知らせ2022年11月3日ServiceNowとは?
Comments are closed