GlideSPUtil - グローバル

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:6分
  • GlideSPUtil API は、サービスポータルをサポートする一般的なバックエンド関数を実行するためのユーティリティメソッドを提供します。

    利用可能なユーティリティメソッドは次のとおりです。
    • ページ [sp_page] テーブルにある指定された サービスポータル ページに関連付けられた動的ページ変数 [sp_page_title_variable] テーブルで指定された変数を解決します。
    • その他の方法

    詳細については、「」、「サービスポータルページ」を参照してください。

    GlideSPUtil:GlideSPUtil()

    GlideSPUtil オブジェクトをインスタンス化します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし

    次のコード例は、関連付けられているメソッドを呼び出す前に GlideSPUtil オブジェクトをインスタンス化する方法を示しています。

    function() {
      var spUtil = new GlideSPUtil();
      var pageGR = spUtil.getPageRecordWithPageRoute('kb_article', '81b75d3147032100ba13a5554ee4902b', false);
      var queryParams = RP.getParameters();
      var hrUrl = spUtil.getHumanReadableUrl(pageGR, queryParams);
    }

    GlideSPUtil - getHumanReadableUrl()

    ポータルページ (pageGR) を識別するために 'id' クエリパラメーターを考慮し 現在のトランザクションのクエリ文字列を使用して getHumanReadableUrl(GlideRecord pageGR, String queryString) を呼び出し 、最終的に人間が判読できるものを返します。

    表 : 2. パラメーター
    名前 タイプ 説明
    なし
    表 : 3. 返される内容
    タイプ 説明
    文字列 指定された サービスポータル レコードに対する人間が判読できる URL。変数は queryParams 文字列マップの内容に置き換えられます。

    次のコード例は、 方法を示しています。

    function() {
      var spUtil = new GlideSPUtil();
      var hrUrl = spUtil.getHumanReadableUrl();
    }

    出力:

    GlideSPUtil - getHumanReadableUrl(GlideRecord pageGR, String queryParams)

    渡された queryParms 文字列パラメーターを文字列マップに変換し、sp_page レコードで指定された 「人間が判読できる URL 構造」文字列 の変数を解決して、URL の 最終的に人間が判読できる部分を返します。

    表 : 4. パラメーター
    名前 タイプ 説明
    ページグラフ GlideRecord URL 変数を解決するページ [sp_page] テーブル内のレコードの GlideRecord オブジェクト。
    queryString 文字列 クエリ文字列。
    表 : 5. 返される内容
    タイプ 説明
    文字列 指定された サービスポータル レコードに対する人間が判読できる URL。変数は queryParams 文字列マップの内容に置き換えられます。

    次のコード例は、 方法を示しています。

    function() {
      var spUtil = new GlideSPUtil();
      var pageGR = spUtil.getPageRecordWithPageRoute('kb_article', '81b75d3147032100ba13a5554ee4902b', false);
      var queryString = GlideTransaction.get().getRequest().getQueryString();
      var hrUrl = spUtil.getHumanReadableUrl(pageGR, queryParams);
    }

    出力:

    GlideSPUtil - getHumanReadableUrl(GlideRecord pageGR, StringMap queryParams)

    渡された サービスポータル テンプレートページオブジェクトの [人間が判読できる URL 構造] フィールドの変数を解決し、指定されたクエリパラメーターと人間が判読できる解決済みパラメーターを含む URL を返します。

    URL で人間が判読できるキーワードを使用して、次のことを行います。
    • URL が関連ページのコンテキストに含まれていない場合に、顧客が URL の目的をよりよく理解できるようにします。
    • 検索エンジンにキーワードを提供して、ページの位置を見つけやすくします。

    たとえば、次のような認識できないキーと値のペアを含む URL を使用する代わりに、

    https://instance_name.servicenow.com/sp/en?id=sc_cat_item&sys_id=ec80c13297968d1021983d1e6253af32&sysparm_catgory=1e80c15697969f1032083d1e6253be15

    URL の目的を理解しやすくするために、URL にアイテム名を追加できます。

    https://instance_name.servicenow.com/sp/en/apple-iphone-13?id=sc_cat_item&sys_id=ec80c13297968d1021983d1e6253af32&sysparm_catgory=1e80c15697969f1032083d1e6253be15

    このメソッドを使用する前に、URL に動的コンテンツを含める各 サービスポータル テンプレートで使用できる動的ページ変数を定義する必要があります。これらの変数の追加の詳細については、「 Add human readable keywords to page URLs」を参照してください。

    表 : 6. パラメーター
    名前 タイプ 説明
    ページグラフ GlideRecord 動的 URL 変数を解決するテンプレートページのサービスポータル GlideRecord オブジェクト。

    テーブル:ページ [sp_page]

    queryParams スティングマップ 目的の サービスポータル ページを取得するために使用する URL クエリパラメーター。
    例:
    {
      "id": "sc_cat_item",
      "sys_id": "ec80c13297968d1021983d1e6253af32",
      "sysparm_catgory": "1e80c15697969f1032083d1e6253be15"
    }
    表 : 7. 返される内容
    タイプ 説明
    文字列 サービスポータルテンプレートページで指定された動的変数の、人間が判読できる解決済み要素を含む URL。

    たとえば、定義された動的変数が %item_name の場合、URL には、ユーザーが選択したアイテムの名前 (「apple-iphone-13」など) と、指定されたすべてのクエリパラメーターが含まれます。

    https://instance_name.servicenow.com/sp/en/apple-iphone-13?id=sc_cat_item&sys_id=ec80c13297968d1021983d1e6253af32&sysparm_catgory=1e80c15697969f1032083d1e6253be15

    次のコード例は、特定の KB 記事を取得し、 getHumanReaadableUrl() を呼び出して関連する動的変数を適用する方法を示しています。

    function() {
      var spUtil = new GlideSPUtil();
      var pageGR = spUtil.getPageRecordWithPageRoute('kb_article', '81b75d3147032100ba13a5554ee4902b', false);
      var queryParams = RP.getParameters();
      var hrUrl = spUtil.getHumanReadableUrl(pageGR, queryParams);
    }