CSBScratchpadUtil :スコープ指定

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:9分
  • CSBScratchpadUtil API を使用すると、コンシューマーは、他の サービスブリッジ サービスの外部にある "余分な" 情報をプロバイダーと共有できます。

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

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

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

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

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

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

    表 : 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, 文字列名)

    指定されたスクラッチパッドプロパティをスクラッチパッド [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, 文字列名, 文字列値, ブール client_side_accessible)

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

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

    最大: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"