ランディングページの [予定] セクションの構成

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:5分
  • [予定] セクションに表示されるデータを構成します。

    始める前に

    必要なロール:admin

    このタスクについて

    拡張ポイントを使用すると、カスタムスクリプトを呼び出して [予定] セクションの機能を拡張し、ベースコードを変更することなくカスタマイズを簡単に組み込めます。拡張ポイントの詳細については、「スクリプト拡張ポイントの作成と追加」を参照してください。
    表 : 1. ベースシステムの [予定] セクションのスクリプト拡張ポイント
    拡張ポイント 説明
    sn_sow.UpcomingLinkProvider 当日および翌日の予定されているタスクレコード (変更、インシデント、要求、および期限切れタスク) のリストを取得します。

    手順

    1. 次のように移動する。 All (すべて) > システムの拡張点 > スクリプト済みの拡張点.
    2. [拡張ポイント] リストから、sn_sow.UpcomingLinkProvider を選択します。
    3. [実装を作成] 関連リンクを使用して実装を作成するか、[実装] 関連リストからの実装を編集します。
      変更タスクに新しいお知らせタイプを追加する方法の例を次に示します。
      • 名前:MyCustomUpcomingLinkProvider_ChangeTask
      • スクリプト:
         var PREFIX_QUERY = 'active=true^' + assignToQuery; 
        
                var TODAY_QUERY = '^planned_start_dateONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()'; 
        
                var TOMORROW_QUERY = '^splanned_start_dateONTomorrow@javascript:gs.beginningOfTomorrow()@javascript:gs.endOfTomorrow()'; 
        
                var encodedQuery = null; 
        
                var listTitle = gs.getMessage("Change_Task"); 
        
                if ('beginningOfToday' == request.from && 'endOfToday' == request.to) { 
        
                    encodedQuery = PREFIX_QUERY + TODAY_QUERY; 
        
                } else if ('beginningOfTomorrow' == request.from && 'endOfTomorrow' == request.to) { 
        
                    encodedQuery = PREFIX_QUERY + TOMORROW_QUERY; 
        
                } else { 
        
                    throw gs.getMessage("Unsupported date range"); 
        
                } 
        
                var LIMIT = 10; 
        
                var changeTaskGr = new GlideRecordSecure('change_task'); 
        
                changeTaskGr.addEncodedQuery(encodedQuery); 
        
                changeTaskGr.setLimit(LIMIT + 1); 
        
                changeTaskGr.query(); 
        
                var count = changeTaskGr.next() ? changeTaskGr.getRowCount() : 0; 
        
                var items = []; 
        
                if (count > 0) { 
        
                    var msg = null; 
        
                    if (1 == count) { 
        
                        msg = gs.getMessage("{0} change task", [count]) + ""; 
        
                    } else { 
        
                        if (count > LIMIT) { 
        
                            msg = gs.getMessage("More than {0} change task(s)", [LIMIT.toString()]) + ""; 
        
                        } else { 
        
                            msg = gs.getMessage("{0} change task(s)", [count]) + ""; 
        
                        } 
        
                    } 
        
                    var route = { 
        
                        route: 'simplelist', 
        
                        fields: { 
        
                            table: changeTaskGr.getTableName() 
        
                        }, 
        
                        params: { 
        
                            listTitle: listTitle, 
        
                            query: changeTaskGr.getEncodedQuery() 
        
                        } 
        
                    }; 
        
                    if (1 == count) { 
        
                        route = { 
        
                            route: 'record', 
        
                            fields: { 
        
                                table: changeTaskGr.getTableName(), 
        
                                sysId: changeTaskGr.getUniqueValue() 
        
                            } 
        
                        }; 
        
                    } 
        
                    var item = { 
        
                        label: msg, 
        
                        type: 'route', 
        
                        value: route, 
        
                        "startsWith": { 
        
                            "icon": "change-outline", 
        
                            "align": "center" 
        
                        }, 
        
                        "opensWindow": false, 
        
                        "configAria": {}, 
        
                        "download": false 
        
                    }; 
        
                    items.push(item); 
        
                } 
        
                return items; 
    4. [更新] を選択して、スクリプトインクルードレコードを保存します。
    5. タスクを作成して、予定されているタスクとして表示するかどうかを確認します。
      たとえば、変更タスクを作成します。
      1. [すべて] メニューから [change_task.list] に移動します。
      2. [新規] を選択します。
      3. 必要な情報を指定します。
        • Short Description (簡単な説明)
        • 説明
        • 開始予定日。本日の日付を指定できます。
        • アサイン先。予定されているタスクを表示するユーザーを指定します。
      4. [送信] を選択します。
      5. 選択したユーザーのサービスオペレーションワークスペースのランディングページの [予定] セクションにタスクが表示されていることを確認します。