PSBScratchpadUtil - スコープ対象

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:8分
  • PSBScratchpadUtil API は、プロバイダーが他の サービスブリッジ サービスの外部にある "追加" 情報をコンシューマーと共有できるようにするメソッドを提供します。

    この情報は、名前と値のペアとしてスクラッチパッド [sn_sb_scratchpad] テーブルに保存されます。共有情報は、プロバイダータスクまたはリモートタスクの 2 つのタイプのいずれかであるタスクに関連付ける必要があります。

    関連付けられたタスクがアクティブな場合、更新されたスクラッチパッド情報はコンシューマーインスタンスに同期されます。タスクが非アクティブ化または削除された場合、スクラッチパッドの情報も指定された日数が経過すると削除されます。デフォルトでは 3 つです。このデフォルトは、sn_sb.scratchpad.autodelete.days プロパティで定義されます。

    プロバイダーとコンシューマーの両方が、スクラッチパッドテーブルに対して情報を追加、更新、および削除できます。コンシューマーは、 CSBScratchpadUtil API を使用してこの情報を更新します。

    この API にアクセスするには、 サービスブリッジ for Providers アプリケーション (sn_sb_pro) をインストールする必要があります。この API は sn_sb_pro 名前空間で実行されます。

    PSBScratchpadUtil - get(GlideRecord taskGR, 文字列 name)

    指定されたスクラッチパッドプロパティの値を返します。

    表 : 1. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。

    テーブル:リモートタスク [sn_sb_pro_remote_task] とプロバイダータスク [sn_sb_pro_provider_task]

    名前 文字列 値を取得するスクラッチパッドプロパティの名前。

    テーブル:スクラッチパッド [sn_sb_scratchpad]

    表 : 2. 戻り値
    タイプ 説明
    文字列または null 要求されたスクラッチパッドプロパティの値。プロパティが見つからない場合は null。

    次のコード例は、このメソッドを呼び出す方法を示しています。

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) { 
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(util.get(rtGR, "name1"));
    } 

    出力:

    "value1"

    PSBScratchpadUtil - getAll(GlideRecord taskGR)

    指定されたタスクに関連付けられているすべてのスクラッチパッドプロパティのプロパティ名と値 (名前と値のペア) を返します。

    表 : 3. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 関連するスクラッチパッドプロパティが返されるアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。

    テーブル:リモートタスク [sn_sb_pro_remote_task] とプロバイダータスク [sn_sb_pro_provider_task]

    表 : 4. 戻り値
    タイプ 説明
    オブジェクト 指定されたタスクに含まれるすべてのプロパティ名と値。フォーム内:

    { 名前 1: 値 1, 名前 2: 値 2, ... }

    次のコード例は、このメソッドを呼び出す方法を示しています。

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1);
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {  
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(JSON.stringify(util.getAll(rtGR))); 
    }

    出力:

    { "name1": "value1" }

    PSBScratchpadUtil - getNames(GlideRecord taskGR)

    指定されたタスクレコードに関連付けられているすべてのスクラッチパッドプロパティの名前のリストを返します。

    表 : 5. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 関連付けられたすべてのスクラッチパッドプロパティの名前のリストを返すアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。

    テーブル:リモートタスク [sn_sb_pro_remote_task] とプロバイダータスク [sn_sb_pro_provider_task]

    表 : 6. 戻り値
    タイプ 説明
    文字列アレイ 指定されたタスクレコードに関連付けられたスクラッチパッドプロパティの名前のリスト。

    次のコード例は、このメソッドを呼び出す方法を示しています。

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(JSON.stringify(util.getNames(rtGR))); 
    }

    出力:

    [ "name1" ]

    PSBScratchpadUtil - populateClientScratchpadBR(GlideRecord taskGR)

    指定されたリモートタスクまたはプロバイダータスクに関連付けられたスクラッチパッドプロパティをクライアントg_scratchpadに配置します。

    このメソッドは、UI 表示ビジネスルールから呼び出すことができます。

    表 : 7. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 関連するスクラッチパッドエントリをクライアントg_scratchpadに配置する必要があるアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。

    テーブル:リモートタスク [sn_sb_pro_remote_task] とプロバイダータスク [sn_sb_pro_provider_task]

    表 : 8. 戻り値
    タイプ 説明
    なし

    次のコード例は、このメソッドを呼び出す方法を示しています。

    new sn_sb_pro.PSBScratchpadUtil().populateClientScratchpadBR(current);

    PSBScratchpadUtil - remove(GlideRecord taskGR, 文字列名)

    指定されたスクラッチパッドプロパティをスクラッチパッド [sn_sb_scratchpad] テーブルから削除します。

    注:
    削除は他の ServiceNow インスタンスと同期されません。スクラッチパッドのプロパティは、関連付けられたタスクレコードが非アクティブ化または削除されてから、指定された日数が経過すると自動的に削除されます。
    表 : 9. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。

    テーブル:リモートタスク [sn_sb_pro_remote_task] とプロバイダータスク [sn_sb_pro_provider_task]

    名前 文字列 スクラッチパッド [sn_sb_scratchpad] テーブルから削除するスクラッチパッドプロパティの名前。
    表 : 10. 戻り値
    タイプ 説明
    なし

    次のコード例は、このメソッドを呼び出す方法を示しています。

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      util.remove(rtGR, “name1”);
      gs.info(util.get(rtGR, "name1")); 
    }

    出力:

    undefined

    PSBScratchpadUtil - update(GlideRecord taskGR, 文字列名, 文字列値, ブール client_side_accessible)

    スクラッチパッド [sn_sb_scratchpad] テーブルのプロパティを挿入するか、プロパティの値を更新します。

    注:
    1 回の呼び出しで更新できるプロパティの最大数は 50 です。
    表 : 11. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。

    テーブル:リモートタスク [sn_sb_pro_remote_task] とプロバイダータスク [sn_sb_pro_provider_task]

    名前 文字列 新規または既存のスクラッチパッドプロパティの名前。この名前は、すべてのスクラッチパッドプロパティで一意である必要があります。
    文字列 スクラッチパッドプロパティの値。

    最大:4,000 文字。

    client_side_accessible ブール オプション。表示ビジネスルールから populateClientScratchpadBR が呼び出されたときに、このプロパティをクライアント側のg_scratchpadで使用できるかどうかを示すフラグ。
    有効な値:
    • true:プロパティを使用できます。
    • false:プロパティは利用できません。

    デフォルト値:false

    表 : 12. 返される内容
    タイプ 説明
    なし

    次のコード例は、このメソッドを呼び出す方法を示しています。

    var rtGR = new GlideRecord("sn_sb_pro_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();
    rtGR.next()
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_pro.PSBScratchpadUtil();
      util.update(rtGR, "name1", "value2");
      gs.info(util.get(rtGR, "name1")); 
    }

    出力:

    "value2"