CSBScratchpadUtil - スコープ指定

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む9読むのに数分
  • CSBScratchpadUtil API を使用すると、コンシューマーは、他の Service Bridge サービスの外部にある "追加" 情報をプロバイダーと共有できます。

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

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

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

    この API にアクセスするには、 Service Bridge for Consumers アプリケーションをインストールする必要があります。プロバイダーの場合、この API は sn_sb_pro スコープで実行され、コンシューマーの場合は sn_sb_con スコープで実行されます。

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

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

    表 : 1. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] およびプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。
    name 文字列 値を取得するスクラッチパッドプロパティの名前。スクラッチパッド [sn_sb_scratchpad] テーブルにあります。
    表 : 2. 返される内容
    タイプ 説明
    文字列または null 要求されたスクラッチパッドプロパティの値。プロパティが見つからない場合は null。

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

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

    出力:

    "value1"

    CSBScratchpadUtil - getAll(GlideRecord taskGR)

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

    表 : 3. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 関連するスクラッチパッドプロパティを返すアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] およびプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。
    表 : 4. 返される内容
    タイプ 説明
    オブジェクト 指定されたタスクに含まれるすべてのプロパティ名と値。フォームは次のようになります。

    { name1: value1, name2: value2, ... }

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

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

    出力:

    { "name1": "value1" }

    CSBScratchpadUtil - getNames(GlideRecord taskGR)

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

    表 : 5. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 関連するすべてのスクラッチパッドプロパティの名前のリストを返すアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] およびプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。
    表 : 6. 返される内容
    タイプ 説明
    文字列アレイ 指定されたタスクレコードに関連付けられたスクラッチパッドプロパティの名前のリスト。

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

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

    出力:

    [ "name1" ]

    CSBScratchpadUtil - populateClientScratchpadBR(GlideRecord taskGR)

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

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

    表 : 7. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 関連するスクラッチパッドエントリをクライアントg_scratchpadに配置する必要があるアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] およびプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。
    表 : 8. 返される内容
    タイプ 説明
    なし

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

    new sn_sb_con.CSBScratchpadUtil().populateClientScratchpadBR(current);

    CSBScratchpadUtil - remove(GlideRecord taskGR, 文字列 name)

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

    注:
    削除は他のインスタンスに ServiceNow 同期されません。スクラッチパッドのプロパティは、関連するタスクレコードが非アクティブ化または削除されてから、指定された日数が経過すると自動的に削除されます。
    表 : 9. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] およびプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。
    name 文字列 スクラッチパッド [sn_sb_scratchpad] テーブルから削除するスクラッチパッドプロパティの名前。
    表 : 10. 返される内容
    タイプ 説明
    なし

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

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

    出力:

    undefined

    CSBScratchpadUtil - update(GlideRecord taskGR, 文字列 name, 文字列 value, ブーリアン client_side_accessible)

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

    注:
    1 回の呼び出しで更新できるプロパティの最大数は 50 です。
    表 : 11. パラメーター
    名前 タイプ 説明
    taskGR GlideRecord 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] およびプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。
    name 文字列 新規または既存のスクラッチパッドプロパティの名前。この名前は、すべてのスクラッチパッドプロパティで一意である必要があります。
    value 文字列 スクラッチパッドプロパティの値。

    最大:4,000 文字。

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

    デフォルト:false

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

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

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

    出力:

    "value2"