CMDBDuplicateTemplateUtil - グローバル
CMDBDuplicateTemplateUtil スクリプトインクルードは、重複排除テンプレートに対して重複排除タスクを追加または削除するメソッドを提供します。
CI の重複排除、重複排除タスク、および重複排除テンプレートの詳細については、「 Duplicate CIs remediation」を参照してください。
CMDBDuplicateTemplateUtils - CMDBDuplicateTemplateUtils()
CMDBDuplicateTemplateUtils クラスのインスタンスを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
次のコード例は、このメソッドを呼び出して CMDBDuplicateTemplateUtils オブジェクトを作成する方法を示しています。
var dupTemp = new CMDBDuplicateTemplateUtils();
CMDBDuplicateTemplateUtils - addTasksToTemplate(文字列 templateId, 配列 taskIds)
指定された重複排除テンプレートに 1 つ以上の重複排除タスクを追加します。
このメソッドは既存のテンプレート値を上書きしますが、各テンプレートの以前の値はシステムログに記録します。
次の一覧では、タスクがテンプレートに追加されず、スキップまたは失敗としてマークされるシナリオについて説明します。
- 指定されたテンプレートは公開済みステータスではありません。すべてのタスクがスキップ済みとしてマークされます。
- 指定したテンプレートが実行されています。すべてのタスクがスキップ済みとしてマークされます。
- タスクがオープンステータスではない。タスクがスキップ済みとしてマークされます。
- タスクは指定されたテンプレートと互換性がありません。たとえば、指定したテンプレートはアプリケーションサーバー Tomcat 用に作成されていても、指定した重複排除タスクは Linux サーバー用に作成されている場合があります。タスクがスキップ済みとしてマークされます。
- 指定されたテンプレートが存在しません。すべてのタスクが失敗としてマークされます。
- タスクのテンプレート列の GlideRecord 更新が失敗する。タスクは失敗としてマークされます。
| 名前 | タイプ | 説明 |
|---|---|---|
| templateId | 文字列 | 重複排除タスクに関連付ける重複排除テンプレートのSys_id。 |
| taskIds | アレイ | 指定されたテンプレートに関連付ける重複排除タスクのsys_idsのリスト。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 指定したテンプレートへの関連付けが試行されたすべてのタスクのステータスを含む結果オブジェクト。 データタイプ: オブジェクト |
| failed | テンプレートへの関連付けに失敗したタスクのリスト。 データタイプ:オブジェクトのアレイ |
| failed.message | タスクをテンプレートに関連付けることができなかった理由を説明するメッセージ。 データタイプ:文字列 |
| failed.messageType | 失敗の理由。 データタイプ:文字列 |
| failed.taskId | テンプレートへの関連付けに失敗したタスクのSys_id。 データタイプ:文字列 |
| スキップ | 失敗しなかったが、テンプレートに関連付けられなかった (スキップされた) タスクのリスト。 データタイプ:オブジェクトのアレイ |
| skipped.message | タスクがスキップされた理由を説明するメッセージ。 データタイプ:文字列 |
| skipped.messageType | タスクがスキップされた理由。 データタイプ:文字列 |
| skipped.taskId | メソッドがテンプレートに関連付けられたスキップしたタスクのSys_id。 データタイプ:文字列 |
| 正常終了 | テンプレートに正常に関連付けられたタスクのリスト。 データタイプ:オブジェクトのアレイ |
| success.message | 現在使用されていません。 データタイプ:文字列 |
| success.messageType | 現在使用されていません。 データタイプ:文字列 |
| success.taskId | テンプレートに関連付けられたタスクのSys_id。 データタイプ:文字列 |
| summary | 指定したテンプレートが存在しない場合など、発生した全体的な処理エラーの簡単な説明。 データタイプ:文字列 |
次のコード例は、このメソッドを呼び出して重複排除タスクを重複排除テンプレートに追加する方法を示しています。
// Add tasks to template
var taskIds = [];
taskIds.push("96d2d25113152200eef2dd828144b0a4");
taskIds.push("f785a2c3d7012201de92a5f75e610398");
taskIds.push("635dd3dbc128ce0100655f1ec66ed41d");
var result = new CMDBDuplicateTemplateUtils().addTasksToTemplate("6b43105c37301000deeabfc8bcbe5db2", taskIds);
);
gs.info('Success: ' + result.success);
gs.info('Failed: ' + result.failed);
gs.info('Skipped: ' + result.skipped);
gs.info(Summary: ' + result.summary);
出力:
Success: [
{
"taskId": "f785a2c3d7012201de92a5f75e610398",
"message": "",
"messageType": ""
}
]
Failed: [
{
"taskId": "96d2d25113152200eef2dd828144b0a4",
"message": "Failed to add task 96d2d25113152200eef2dd828144b0a4 to template 6b43105c37301000deeabfc8bcbe5db2 because there were update errors.",
"messageType": "update_failed"
}
]
Skipped: [
{
"taskId": "635dd3dbc128ce0100655f1ec66ed41d",
"message": "Cannot add de-duplication task(s) to template 6b43105c37301000deeabfc8bcbe5db2 because the template is not published. Publish the template before adding tasks.",
"messageType": "unpublished_template"
}
]
Summary:
CMDBDuplicateTemplateUtils - removeTemplateFromTask(配列 taskIds)
指定された重複排除タスクレコードの重複排除テンプレート値をクリアします。この値をクリアすると、テンプレートとタスクの関連付けが削除されます。
次の一覧では、テンプレート値がタスク レコードから削除されず、スキップまたは失敗としてマークされるシナリオについて説明します。
- タスクに関連付けられた重複排除テンプレートが実行されています。タスクがスキップ済みとしてマークされます。
- タスクのステータスが「対応中」であるか、タスクが見つかりません。タスクがスキップ済みとしてマークされます。
- タスクのテンプレート列の GlideRecord 更新が失敗する。タスクは失敗としてマークされます。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskIds | アレイ | 重複排除テンプレートの値をクリアする重複排除タスクレコードのsys_idsのリスト。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | テンプレート値の削除が成功、スキップ、または失敗したタスクの数を含む結果オブジェクト。 |
| failed | 重複排除テンプレート値の削除に失敗したタスクの数。 データタイプ:数値 |
| 正常終了 | 重複排除テンプレートの値を正常に削除したタスクの数。 データタイプ:数値 |
| スキップ | メソッドが重複排除テンプレート値の削除をスキップしたタスクの数。 データタイプ:数値 |
次のコード例は、このメソッドを呼び出して、重複排除タスクレコードから重複排除テンプレート値を削除する方法を示しています。
// Remove tasks from template
var taskIds = [];
taskIds.push("96d2d25113152200eef2dd828144b0a4");
taskIds.push("f785a2c3d7012201de92a5f75e610398");
taskIds.push("635dd3dbc128ce0100655f1ec66ed41d");
var result = new CMDBDuplicateTemplateUtils().removeTemplateFromTasks(taskIds);
);
gs.info('Success: ' + result.success);
gs.info('Failed: ' + result.failed);
gs.info('Skipped: ' + result.skipped);
出力:
Success: 2
Failed: 0
Skipped: 1