UniversalTaskUtils - スコープ指定、グローバル
UniversalTaskUtils スクリプトインクルードは、ユニバーサルタスクを管理するためのメソッドを提供します。
ServiceNow のユニバーサルタスクアプリケーションを使用して、エージェントは従業員のタスクを作成できます。例えば、追加情報を要求したり、親チケットまたは要求を解決するアクションを要求したりするなどです。ユニバーサルタスクは、タスク [task] テーブルを拡張するすべてのチケットタイプで使用できます。
このスクリプトインクルードを使用すると、アクティブなユニバーサルタスクのステータスを「完了」または「キャンセル」に変更したり、指定した親タスクのすべてのアクティブなユニバーサルタスクを取得したり、親ユニバーサルタスクに子があるかどうかを確認したり、ユニバーサルタスクレコードにテンプレートを適用したりできます。これらのメソッドをスクリプトや タブ構成 フォームの表示可能な条件ビルダーで使用して、[ ユニバーサルタスク ] タブに表示されるデータを管理できます。詳細については、「 標準チケットページの [タスク] タブの追加」を参照してください。
このスクリプトインクルードは、スコープ対象のアプリケーションとグローバルアプリケーションの両方で使用できます。このスクリプトインクルードにアクセスするには、関連するインスタンスにユニバーサルタスクアプリケーション (sn_uni_task) をインストールする必要があります。この API 内でメソッドを呼び出すときは、常に sn_uni_task 名前空間を指定する必要があります。
ユニバーサルタスクアプリケーションの詳細については、「 ユニバーサルタスク」を参照してください。
UniversalTaskUtils - applyTemplate(文字列 templateSysId, GlideRecord uniTaskGr)
指定のユニバーサルタスクテンプレートを指定のユニバーサルタスクレコードに適用します。
このメソッドを使用するには、インスタンスにユニバーサルタスクテンプレートが設定されている必要があります。詳細については、「 ユニバーサルタスクテンプレート」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| templateSysId | 文字列 | 指定のユニバーサルタスクレコードに適用するユニバーサルタスクテンプレートの sys_id。 テーブル:ユニバーサルタスクテンプレート [sn_uni_task_template] |
| uniTaskGr | GlideRecord | テンプレートを適用するユニバーサルタスクレコードの GlideRecord。 |
| タイプ | 説明 |
|---|---|
| なし | エラーはシステムログに書き込まれます。 |
このコード例は、フィードバックテンプレートを取得して適用する関数を示します。
(function executeRule(current, previous /*null when async*/) {
var templateGr = new GlideRecord('sn_uni_task_template');
templateGr.get('name','Feedback Template');
var templateSysId = templateGr.getValue('sys_id');
new sn_uni_task.UniversalTaskUtils().applyTemplate (templateSysId,current);
})(current, previous);
UniversalTaskUtils - getActiveChildTasks(文字列 parentSysId)
指定された親チケットのアクティブな子タスクレコードを GlideRecord の形式で返します。
その後、GlideRecord API (呼び出し元アプリケーションのスコープに応じてスコープまたはグローバル) を使用して、getRowCount() メソッドを使用してアクティブなタスクをカウントするなど、返されたデータにアクセスできます。
| 名前 | タイプ | 説明 |
|---|---|---|
| parentSysID | 文字列 | 返されるアクティブな子チケットの親チケットの sys_id。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 指定された親タスクのすべてのアクティブな子タスクレコードを含む GlideRecord。 |
次の例では、現在の sys_id のすべてのアクティブな子タスクを取得し、getRowCount() を使用してアクティブな子タスクの数を取得する関数を示します。
(function executeRule(current, previous /*null when async*/) {
var gr_ActiveTasks = new sn_uni_task.UniversalTaskUtils().getActiveChildTasks(current.sys_id);
var count = gr_ActiveTasks.getRowCount();
})(current, previous);
UniversalTaskUtils - hasTasksToShow(GlideRecord current)
指定の親チケットに、対応中または完了ステータスのユニバーサルタスクがあるかどうかを確認します。
このメソッドを使用して、対応中または完了したタスクがある場合にのみ標準チケット構成で要求者に [ユニバーサルタスク] タブを表示するかどうかを決定できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| current | GlideRecord | 確認する親チケットの GlideRecord。 |
| タイプ | 説明 |
|---|---|
| sys_id | ユニバーサルタスクが親チケットに関連付けられている場合は親チケットの sys_id、そうでない場合は null。 データタイプ:文字列 |
次の例では、このメソッドを呼び出してユニバーサルタスクをチェックする関数を示します。
(function executeRule(current, previous /*null when async*/) {
var sysId = new sn_uni_task.UniversalTaskUtils().hasTasksToShow(current);
})(current, previous);
UniversalTaskUtils - markActiveChildTasksCancelled(文字列 parentSysId)
指定された親チケットのすべてのアクティブなユニバーサルタスクのステータスを「キャンセル」に変更します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parentSysID | 文字列 | アクティブな子ユニバーサルタスクのステータスを「キャンセル」に変更する必要がある親チケットの sys_id。 |
| タイプ | 説明 |
|---|---|
| なし |
このコード例では、このメソッドを使用して、指定された親タスクに関連付けられているすべてのユニバーサルタスクのステータスを「キャンセル」に更新する方法を示します。
(function executeRule(current, previous /*null when async*/) {
new sn_uni_task.UniversalTaskUtils().markActiveChildTasksCancelled(current.sys_id);
})(current, previous);
UniversalTaskUtils - markActiveChildTasksCompleted(文字列 parentSysId)
指定された親チケットに関連付けられたすべてのアクティブな子ユニバーサルタスクのステータスを「完了」に変更します。
| 名前 | タイプ | 説明 |
|---|---|---|
| parentSysID | 文字列 | アクティブな子ユニバーサルタスクのステータスを「完了」に変更する必要がある親チケットの sys_id。 |
| タイプ | 説明 |
|---|---|
| なし |
このコード例では、このメソッドを使用して、指定された親タスクに関連付けられているすべてのユニバーサルタスクのステータスを「完了」に更新する方法を示します。
(function executeRule(current, previous /*null when async*/) {
new sn_uni_task.UniversalTaskUtils().markActiveChildTasksCompleted(current.sys_id);
})(current, previous);