ダッシュボードメッセージハンドラー

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • インタラクティブフィルターのカスタムフィルタリングロジックを定義するメソッドを提供します。

    インタラクティブフィルターの詳細については、「 レポートインタラクティブフィルター」を参照してください。

    DashboardMessageHandler:DashboardMessageHandler (文字列 ID)

    指定された一意の ID を持つ DashboardMessageHandler オブジェクトをインスタンス化します。

    表 : 1. パラメーター
    名前 タイプ 説明
    ID 文字列 フィルターの一意の ID。この ID により、レポートウィジェットは、各フィルターを適用したフィルターを追跡できます。ID はすべてのダッシュボードで一意である必要はありませんが、各ダッシュボードに同じ ID のフィルターを複数含めることはできません。
    var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");

    DashboardMessageHandler - publishFilter(文字列テーブル, 文字列 encodedQuery)

    各 DashboardMessageHandler オブジェクトは 1 つのフィルターを発行できます。

    同じオブジェクトから新しいフィルターを公開すると、元のフィルターが上書きされます。複数の DashboardMessageHandler オブジェクトを使用して、複数のフィルターを公開します。

    表 : 2. パラメーター
    名前 タイプ 説明
    table 文字列 タスクなど、フィルタリングするテーブル。
    encodedQuery 文字列 公開するフィルターを指定するエンコードされたクエリ。
    表 : 3. 返される内容
    タイプ 説明
    なし
    var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
    <input id="onlyMine" type="button" value="Only mine"    onclick="my_dashboardMessageHandler.publishFilter('task','caller_idDYNAMIC90d1921e5f510100a9ad2572f2b477fe');"/>

    DashboardMessageHandler - publishMessage (アレイフィルター)

    カスタムインタラクティブフィルターを複数のテーブルに適用します。

    表 : 4. パラメーター
    名前 タイプ 説明
    フィルター アレイ フィルタリングするテーブルとフィルター基準を定義するフィルターオブジェクトのアレイ。
    [
      {
        "table": String,
        "filter": String 
      }
    ]
    filters.table 文字列 フィルタリングするテーブルの名前。
    filters.filter 文字列 テーブルに適用するフィルター基準を含むエンコードクエリ。
    表 : 5. 返される内容
    タイプ 説明
    なし

    この Jelly スクリプトは、インシデントテーブルと問題テーブルをフィルタリングして、アサイン先グループが問題解決であるレコードを返します。

    <?xml version="1.0" encoding="utf-8" ?>
    <j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
    <script>
     var dmh = new DashboardMessageHandler("aha_dmh");
     var filter = "cmdb_ci.sys_idINcdafbfc9db8f570466e0a345ca96198a"; 
     //this is the encoded query string
     var fullFilter = dmh.getFilterMessage('change_request',filter); 
     //creates a JSON object
    
     SNC.canvas.interactiveFilters.setDefaultValue({id: dmh.aha_dmh, filters:[fullFilter],}, false);
     var published = dmh.publishMessage([fullFilter]);
    </script>
    
    </j:jelly>

    DashboardMessageHandler - removeFilter()

    この DashboardMessageHandler オブジェクトによって公開されている現在のフィルターを、ダッシュボード上のすべてのレポートから削除します。

    表 : 6. パラメーター
    名前 タイプ 説明
    なし
    表 : 7. 返される内容
    タイプ 説明
    なし
    var my_dashboardMessageHandler = new DashboardMessageHandler("my_unique_id");
    <input id="removeFilter" type="button" value="Remove filter"    onclick="my_dashboardMessageHandler.removeFilter();"/>