DuplicateTemplate - スコープ指定
DuplicateTemplate API は、各メソッドに一連の検証を適用することで、ユーザーが重複排除テンプレートとやり取りするためのメソッドを提供します。
重複排除タスクの修正は、個別に処理する場合、望ましい時間よりも時間がかかることがあります。重複テンプレートを使用すると、一連の重複タスクをグループ化してまとめて実行できます。DuplicateTemplate API を使用して、重複排除テンプレートを作成して使用します。この API は sn_cmdb 名前空間で実行され、アクセスするには cmdb_dedup_admin ロールが必要です。
インスタンスは、識別および調整中に重複した構成アイテム (CI) を検出すると、レビューと修正のために重複 CI の各セットを重複排除タスクにグループ化します。重複排除タスクは、すべての重複 CI のリストなど、重複に関する詳細を提供します。詳細については、「Duplicate CIs remediation」を参照してください。
関連項目:IdentificationEngine - スコープ指定
- テンプレートのライフサイクル
- CreateTemplate() メソッドを使用して、ドラフトステータスのテンプレートを作成します。テンプレートを取得または更新するには、次の方法を使用できます。
- テンプレートをドラフトから公開ステータスに移行するには、 publishTemplate() メソッドを使用します。注:unPublishTemplate() メソッドを使用して、公開されたテンプレートをドラフトステータスに戻し、テンプレートを更新します。
- オプション。CMDBDuplicateTemplateUtil スクリプトインクルードを使用して、タスクを追加または削除します。
- テンプレートを実行するには、 runTemplate() メソッドを使用します。
実行中のタスクをキャンセルするには、 requestCancellation() メソッドを使用します。
- テンプレートが不要になった場合は、 retireTemplate() メソッドを使用してテンプレートを廃止できます。
- CreateTemplate() メソッドを使用して、ドラフトステータスのテンプレートを作成します。
- テンプレートを使用した単一タスクの修正
- テンプレートを実行せずに 1 つのタスクを修正するには、重複排除タスクをプレビューして修正します。
- previewTemplate() メソッドを使用して、テンプレートを使用して単一タスクの修正をプレビューします。
- remediateTask() メソッドを使用して、テンプレートで重複排除タスクを修正します。
DuplicateTemplate - canAddTasksToTemplate(配列 taskIds, 文字列 templatId)
指定されたタスクのリストをテンプレートに追加できるかどうかを確認します。
タスクがテンプレートへの追加に適しているかどうかを判断するには、この方法を使用します。たとえば、指定したテンプレートはアプリケーションサーバー Tomcat 用に作成されていても、指定した重複排除タスクは Linux サーバー用に作成されている場合があります。これらのタスクには一致するテンプレートクラスがないため、テンプレートに追加できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskIds | アレイ | テンプレートに追加する重複排除タスクのsys_idsアレイ。 |
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 追加、スキップ、または失敗できるタスクを含む結果オブジェクト。 |
| failed | タスクがテンプレートと互換性があるかどうかの確認中にエラーが発生しました。「Detecting duplicate CIs」も参照してください。 |
| スキップ | 一致するテンプレートクラスがないため、タスクに互換性がないため、タスクはスキップされました。 |
| 正常終了 | タスクはテンプレートクラスと一致し、テンプレートに追加できます。 |
次の例は、テンプレートに追加できるタスクを確認する方法を示しています。
var taskIds = [];
taskIds.push(<task_id_1>);
taskIds.push(<task_id_2>);
taskIds.push(<task_id_3>);
var result = sn_cmdb.DuplicateTemplate.canAddTasksToTemplate(taskIds, <template_id>);
gs.info('Success:' + result.success);
gs.info('Failed:' + result.failed);
gs.info('Skipped:' + result.skipped);
出力:
Success: <task_id_1>
Failed: <task_id_2>
Skipped: <task_id_3>
DuplicateTemplate - createTemplate (オブジェクトテンプレート)
ドラフトステータスで重複排除テンプレートを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| テンプレート | オブジェクト | テンプレートを作成するためのさまざまなオプションを含むテンプレートオブジェクト。 |
| template.allow_null_attribute_update | ブーリアン | オプション。重複排除タスク内の CI の属性競合を解決するときに、メイン CI 属性が重複 CI の null 値で更新されるかどうかを示すフラグ。 有効な値:
デフォルト:False |
| template.allow_master_ci_null_update | ブーリアン | オプション。メイン CI 値が null の場合にのみ、重複 CI からの更新が含まれます。 メイン CI 値が null の場合に、重複 CI からの更新のみを含めるかどうかを示すフラグ。 有効な値:
デフォルト:False |
| template.description | 文字列 | オプション。テンプレートに関する詳細情報を保存するための説明。 |
| template.duplicate_ci_action | 文字列 | オプション。重複 CI を削除するか、一意のカスタム値で更新するかを指定します。 選択可能なオプション:
|
| template.duplicate_ci_updates | アレイ | duplicate_ci_actionの設定が更新でない限り、オプションです。重複 CI 値の更新方法を指定するオブジェクトのアレイ。 |
| template.duplicate_ci_updates.element | 文字列 | 参照フィールドのシステム辞書名。 |
| template.duplicate_ci_updates.element_label | 文字列 | 参照フィールドに表示されるラベル。 |
| template.duplicate_ci_updates.value | 文字列 | 参照フィールドの値、つまり参照フィールドの内容。 |
| template.duplicate_ci_updates.display | 文字列 | 参照フィールドの表示値。 |
| template.master_ci_option | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスクに対してメイン CI を選択する方法を指定します。 選択可能なオプション:
|
| template.master_ci_条件 | 文字列 | オプション ( master_ci_option の値が 条件付きの場合は必須)。メイン CI の選択方法を指定するエンコードされたクエリ。クエリに一致する CI が複数ある場合、またはクエリに一致する CI がない場合、メソッドは最後に更新された CI をメイン CI として選択します。エンコードされたクエリがテンプレートテーブルに対して評価されます。このテーブルは table プロパティで識別されます。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| template.merge_relations | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。 選択可能なオプション:
|
| template.merge_relations | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。 選択可能なオプション:
|
| template.merge_relations_condition | 文字列 | オプション ( merge_relations の値が 条件付きの場合は必須)。重複 CI のすべての関係を結合するか、まったく結合しないかを指定するエンコードされたクエリ。クエリは、重複排除タスクに対して選択されたメイン CI で評価されます。クエリが true を返す場合、すべての関係が結合されます。false の場合、関係は結合されません。 エンコードされたクエリがテンプレートテーブルに対して評価されます。このテーブルは table プロパティで識別されます。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| template.merge_related_items | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (legacy) () も参照。 選択可能なオプション:
|
| template.merge_related_items_condition | アレイ | オプション。関連エントリごとにエンコードされたクエリがある関連エントリのリスト。各クエリーは、タスクに対して選択されたメイン CI で評価されます。クエリーが true を返した場合、重複排除タスクの修正中に関連エントリーが結合されます。false の場合、関連エントリは結合されません。詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| template.most_relations_merge_attributes | 文字列 | オプション。メイン CI との関係が最も大きい CI から結合されるカンマ区切り属性。 |
| template.most_related_items_merge_attributes | 文字列 | オプション。最も関連性の高いアイテムを持つ CI からメイン CI に結合されるカンマ区切り属性。 |
| template.name | 文字列 | テンプレートの名前。 |
| template.newest_updated_merge_attributes | 文字列 | オプション。最後に更新された CI からメイン CI に結合されるカンマ区切りの属性。 |
| template.oldest_created_merge_attributes | 文字列 | オプション。最も古く作成された CI からメイン CI に結合されるカンマ区切りの属性。 |
| template.table | 文字列 | テンプレートが作成されるテーブル。 |
| template.task_conditions | 文字列 | オプション。テンプレートの実行時に評価されるエンコードされたクエリ。このクエリは、重複タスク調整データ [reconcile_duplicate_task_data] テーブルで評価されます。このクエリから返されたすべてのタスクが、テンプレート評価時に考慮されます。 注: タスクがクエリの一部として返された場合でも、テンプレートの実行によってタスクが処理されるとは限りません。その他の要因により、テンプレートの処理中にタスクがスキップされる可能性があります。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 重複テンプレートの調整 [reconcile_duplicate_template] テーブルで作成されたテンプレートのSys_id。 |
次の例は、重複排除テンプレートを作成する方法を示しています。
var template = {
"name": "Test Windows Template",
"table": "cmdb_ci_win_server",
"description": "This is a Windows server template",
"master_ci_option": "oldest_created",
"master_ci_condition": "",
"allow_null_attribute_update": false,
"allow_master_ci_null_update": false,
"oldest_created_merge_attributes": "serial_number,os_version",
"merge_relations": "all",
"merge_relations_condition": "",
"merge_related_items": "conditional",
"merge_related_items_condition": [
{
"related_entry": "change_request.cmdb_ci",
"condition": "ramCONTAINS1024"
},
{
"related_entry": "incident.cmdb_ci",
"condition": "os_versionCONTAINSWindows"
}
],
"duplicate_ci_action": "delete",
"duplicate_ci_updates": [{
"element": "ram",
"element_label": "RAM (MB)",
"value": "1024",
"display": "1024"
}],
"task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
};
var templateId = sn_cmdb.DuplicateTemplate.createTemplate(template);
gs.info(templateId);
出力:
8dfcd36e042b2510f877c1665753a485
DuplicateTemplate - getTemplate(文字列 templateId)
テンプレートオブジェクトを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | テンプレートを作成するためのさまざまなオプションを含むテンプレートオブジェクト。 |
| <Object>.allow_null_ attribute_update | 重複排除タスク内の CI の属性競合を解決するときに、メイン CI 属性が重複 CI の null 値で更新されるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
| <Object>.allow_master_ci_ null_update | メイン CI 値が null の場合にのみ、重複 CI からの更新が含まれます。 有効な値:
データタイプ:ブーリアン |
| <Object>。形容 | テンプレートに関する詳細情報を保存するための説明。 データタイプ:文字列 |
| <Object>.duplicate_ ci_action | 重複 CI を削除するか、一意のカスタム値で更新するかを指定します。 選択可能なオプション:
データタイプ:文字列 |
| <Object>.duplicate_ ci_updates | 重複 CI 値の更新方法を指定するオブジェクトのアレイ。データタイプ: オブジェクト |
| <Object>.duplicateCIUpdates.element | 参照フィールドのシステム辞書名。 データタイプ:文字列 |
| <Object>.duplicateCIUpdates.element_label | 参照フィールドに表示されるラベル。 データタイプ:文字列 |
| <Object>.duplicateCIUpdates.value | 参照フィールドの値、つまり参照フィールドの内容。 データタイプ:文字列 |
| <Object>.duplicateCIUpdates.display | 参照フィールドの表示値。 データタイプ:文字列 |
| <Object>.master_ci_オプション | このテンプレートを適用するときに、重複排除タスクに対してメイン CI を選択する方法を指定します。 選択可能なオプション:
データタイプ:文字列 |
| <Object>.merge_relations | このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。 選択可能なオプション:
データタイプ:文字列 |
| <Object>.merge_related_items | このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (legacy) () も参照。 選択可能なオプション:
データタイプ:文字列 |
| <Object>.merge_related_items_条件 | 関連エントリごとにエンコードされたクエリがある関連エントリのリスト。各クエリーは、タスクに対して選択されたメイン CI で評価されます。クエリーが true を返した場合、重複排除タスクの修正中に関連エントリーが結合されます。false の場合、関連エントリは結合されません。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 データタイプ:アレイ |
| <Object>.most_relations_ merge_attributes | メイン CI との関係が最も大きい CI から結合されるカンマ区切り属性。 データタイプ:文字列 |
| <Object>.most_related_items_ merge_attributes | 最も関連性の高いアイテムを持つ CI からメイン CI に結合されるカンマ区切り属性。 データタイプ:文字列 |
| <Object>.name | テンプレートの名前。 データタイプ:文字列 |
| <Object>.newest_updated_ merge_attributes | 最後に更新された CI からメイン CI に結合されるカンマ区切りの属性。 データタイプ:文字列 |
| <Object>.oldest_created_ merge_attributes | 最も古く作成された CI からメイン CI に結合されるカンマ区切りの属性。 データタイプ:文字列 |
| <Object>.table | テンプレートが作成されるテーブル。 データタイプ:文字列 |
| <Object>.task_condition_table | タスク条件のテーブル、つまり重複タスクデータの調整 [reconcile_duplicate_task_data] テーブルの場所。値は変更されることはなく、テーブルは内部使用のみを目的としています。 データタイプ:文字列 |
| <Object>.task_conditions | テンプレートの実行時に評価されるエンコードされたクエリ。このクエリは、重複タスク調整データ [reconcile_duplicate_task_data] テーブルで評価されます。このクエリから返されたすべてのタスクが、テンプレート評価時に考慮されます。 注: タスクがクエリの一部として返された場合でも、テンプレートの実行によってタスクが処理されるとは限りません。その他の要因により、テンプレートの処理中にタスクがスキップされる可能性があります。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 データタイプ:文字列 |
次の例は、テンプレートを取得する方法を示しています。
var template = sn_cmdb.DuplicateTemplate.getTemplate('<template_id>');
gs.info(JSON.stringify(template));
出力:
{
"most_relations_merge_attributes": "",
"task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ",
"duplicate_ci_updates": "org.mozilla.javascript.NativeArray@5d3b19ef",
"description": "This is a Windows server template",
"master_ci_option": "oldest_created",
"merge_related_items": "conditional",
"duplicate_ci_action": "delete",
"newest_updated_merge_attributes": "",
"merge_related_items_condition": [
{
"condition": "os_versionCONTAINSWindows",
"related_entry": "incident.cmdb_ci"
},
{
"condition": "ramCONTAINS1024",
"related_entry": "change_request.cmdb_ci"
}
],
"most_related_items_merge_attributes": "",
"merge_relations": "all",
"task_condition_table": "reconcile_duplicate_task_data",
"name": "Test Windows Template",
"allow_null_attribute_update": false,
"table": "cmdb_ci_win_server",
"allow_master_ci_null_update": false,
"oldest_created_merge_attributes": "serial_number,os_version"
}
DuplicateTemplate - previewTemplate(文字列 templateId, 文字列 taskId)
さまざまなテンプレートオプションが重複排除タスクにどのように適用され、どのように修正されるかを示すプレビューを生成します。
このメソッドは、テンプレートを使用してタスクのプレビューを生成する前に、必要なすべての属性を検証します。テンプレートは、必要な属性を指定せずに作成または更新できます。重複排除タスクをプレビューするには、必要な属性を指定する必要があります。
- duplicate_ci_action
- master_ci_option
- merge_related_items
- merge_relations
- name
- テーブル
重複排除タスクを修正するには、 remediateTask() メソッドを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| taskId | 文字列 | 重複修復タスク [reconcile_duplicate_task] テーブルにリストされている重複排除タスクのSys_id。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | テンプレートを使用して重複排除タスクを修正する方法を示す値を含むプレビューオブジェクト。 |
| <Object>.allClassCIMap | CI クラス別にグループ化された、重複排除タスク内のsys_ids CI のリスト。cmdb_ci_computer など。データタイプ: オブジェクト |
| <Object>.duplicateCIAction | 重複 CI を削除するか、一意のカスタム値で更新するかを指定します。 選択可能なオプション:
データタイプ:文字列 |
| <Object>.duplicateCIUpdates | 重複 CI 値の更新方法を指定するオブジェクトのアレイ。データタイプ:アレイ |
| <Object>.duplicateCIUpdates.element | 参照フィールドのシステム辞書名。 データタイプ:文字列 |
| <Object>.duplicateCIUpdates.element_label | 参照フィールドに表示されるラベル。 データタイプ:文字列 |
| <Object>.duplicateCIUpdates.value | 参照フィールドの値、つまり参照フィールドの内容。 データタイプ:文字列 |
| <Object>.duplicateCIUpdates.display | 参照フィールドの表示値。 データタイプ:文字列 |
| <Object>.masterCI | メイン CI として選択された CI のSys_id。 データタイプ:文字列 |
| <Object>.mergeRelations | このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。 選択可能なオプション:
データタイプ:文字列 |
| <Object>.relatedTablesMerged | このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (legacy) () も参照。 選択可能なオプション:
データタイプ:アレイ |
| <Object>.resolvedFieldCIMap | 重複 CI からメイン CI に結合される要素のアレイ。データタイプ:アレイ |
| <Object>.resolvedFieldCIMap です。要素 | 重複 CI からメイン CI に結合される要素の名前。 データタイプ:文字列 |
| <Object>.resolvedFieldCIMap です。sys_id | 重複 CI からメイン CI に結合される要素のSys_id。 データタイプ:文字列 |
| <Object>.taskId | 重複修復タスク [reconcile_duplicate_task] テーブルにリストされている重複排除タスクのSys_id。 データタイプ:文字列 |
| <Object>.tooManyDuplicates | タスクの CI が最大数を超えているかどうかを示すフラグ。しきい値は、システムプロパティ glide.duplicate_ci_ remediator.max.cis の値 (デフォルト値は 1000 CI) を比較することによって決定されます。 有効な値:
データタイプ:ブーリアン |
次の例は、指定したテンプレートの重複排除修正のプレビューを取得する方法を示しています。
var preview = sn_cmdb.DuplicateTemplate.previewTemplate("<template_id>", "<task_id>");
gs.info(JSON.stringify(preview));
出力:
{
"taskId": "<task_id>",
"masterCI": "<ci_sys_id_1>",
"allClassCIMap": {
"cmdb_ci_computer": [
"<ci_sys_id_1>",
"<ci_sys_id_2>"
]
},
"resolvedFieldCIMap": [
{
"element": "ram",
"sys_id": "<ci_sys_id_2>"
},
{
"element": "os_version",
"sys_id": "<ci_sys_id_2>"
}
],
"mergeRelations": true,
"relatedTablesMerged": [
"incident.cmdb_ci",
"change_request.cmdb_ci"
],
"duplicateCIAction": "delete",
"duplicateCIUpdates": [],
"tooManyDuplicates": false
}
DuplicateTemplate - publishTemplate(文字列 templateId)
テンプレートを公開します。成功すると、テンプレートはドラフトから公開済みステータスに移行します。
このメソッドは、テンプレートを公開する前に必要なすべての属性を検証します。必要な属性を指定せずにテンプレートを作成または更新できますが、テンプレートを公開する前に属性を指定する必要があります。
- duplicate_ci_action
- master_ci_option
- merge_related_items
- merge_relations
- name
- テーブル
公開済みステータスでは、 runTemplate() メソッドを使用してテンプレートを実行できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | テンプレートが公開されたかどうかを示すフラグ。 有効な値:
|
次の例は、テンプレートを公開して結果を表示する方法を示しています。
var isPublished = sn_cmdb.DuplicateTemplate.publishTemplate('<template_id>');
gs.info(isPublished);
出力:
true
DuplicateTemplate - remediateTask(文字列 templateId, 文字列 taskId)
テンプレートを使用して重複排除タスクを修正します。
テンプレートが公開済みステータスでない場合、テンプレートは実行できず、メソッドは例外をスローします。
previewTemplate() メソッドを使用して、重複排除タスクの修正方法をプレビューします。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| taskId | 文字列 | 重複修復タスク [reconcile_duplicate_task] テーブルにリストされている重複排除タスクのSys_id。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 成功した場合、重複排除タスクの修正の結合解決 ID。この結合解決 ID は、重複 CI 修正 [cmdb_duplicate_ci_remediation] テーブル内のレコードのsys_idです。失敗した場合、テンプレートは公開済みステータスではない可能性があります。 |
次の例は、重複排除タスクを修正する方法を示しています。
var mergeResolutionId = sn_cmdb.DuplicateTemplate.remediateTask("<template_id>", "<task_id>");
gs.info(mergeResolutionId);
出力:
<merge_resolution_id>
DuplicateTemplate - requestCancellation(文字列 templateRunId)
既存のテンプレートの実行をキャンセルします。
キャンセル要求は、テンプレートがドラフト、準備完了、または実行中ステータスである場合にのみ、実行に対して行うことができます。
テンプレート実行キャンセル要求の後、テンプレート実行ステータスは中間ステージの [キャンセル要求済み] に変わります。
このメソッドを実行しても、準備完了またはドラフトステータスのテンプレートの実行は自動的にキャンセルされません。テンプレートの実行状態は、実行中のタスクがすべて完了するまで [キャンセル] に変わりません。その時点で、修復のためにステージングされている残りのタスクが、キャンセル要求からキャンセルに変わります。
| 名前 | タイプ | 説明 |
|---|---|---|
| templateRunId | 文字列 | 重複排除テンプレートの実行 [reconcile_duplicate_template_run] テーブルにリストされているテンプレート実行のSys_id。 |
| タイプ | 説明 |
|---|---|
| 文字列 | キャンセル要求が成功したかどうかを示すフラグ。 有効な値:
|
次の例は、テンプレートの実行をキャンセルし、操作が成功したかどうかを表示する方法を示しています。
var isCancelled = sn_cmdb.DuplicateTemplate.requestCancellation("487c67e2046b2510f877c1665753a4cc");
gs.info(isCancelled);
出力:
true
DuplicateTemplate - retireTemplate(文字列 templateId)
テンプレートを廃止します。
テンプレートが不要になった場合は、この方法を使用してテンプレートを廃止ステータスに移行します。
- テンプレートのステータスは [公開済み] です。
- テンプレートが実行中であるか、実行がスケジュールされています。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | テンプレートが廃止されたかどうかを示すフラグ。 有効な値:
|
次の例は、テンプレートを廃止して結果を表示する方法を示しています。
var isRetired = sn_cmdb.DuplicateTemplate.retireTemplate(<template_id>);
gs.info(isRetired);
出力:
true
DuplicateTemplate - runTemplate(文字列 templateId)
公開済みステータスの重複排除テンプレートの修正実行をスケジュールします。テンプレートは複数回実行できますが、一度にスケジュールできる実行は 1 回のみです。
テンプレートが公開済みステータスでない場合は実行できず、メソッドは例外をスローします。 テンプレートをドラフトから公開ステータスに移行するには、 publishTemplate() メソッドを使用します。
実行中のタスクをキャンセルするには、 requestCancellation() メソッドを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 重複排除テンプレートの実行 [reconcile_duplicate_template_run] テーブルにリストされている実行されたテンプレートのSys_id。失敗した場合、テンプレートは公開済みステータスではない可能性があります。 |
次の例は、公開された重複排除テンプレートの実行をスケジュールする方法を示しています。
var template = sn_cmdb.DuplicateTemplate.runTemplate('<template_id>');
gs.info(JSON.stringify(template));
出力:
487c67e2046b2510f877c1665753a4cc
DuplicateTemplate - unPublishTemplate(文字列 templateId)
テンプレートを非公開にします。
この方法では、テンプレートが公開済みステータスからドラフトステータスに移行し、テンプレートを更新できるようになります。テンプレートが実行中または実行がスケジュールされている場合、テンプレートを非公開にすることはできません。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | テンプレートが正常に非公開になったかどうかを示すフラグ。 有効な値:
|
次の例は、テンプレートを非公開にして結果を表示する方法を示しています。
var isUnPublished = sn_cmdb.DuplicateTemplate.unPublishTemplate(<template_id>);
gs.info(isUnPublished);
出力:
true
DuplicateTemplate - updateTemplate(文字列 templateId, オブジェクト template)
ドラフト状況の重複排除テンプレートを更新します。
| 名前 | タイプ | 説明 |
|---|---|---|
| template_id | 文字列 | 重複調整テンプレート [reconcile_duplicate_template] テーブルにリストされているテンプレートのSys_id。 |
| テンプレート | オブジェクト | テンプレートを作成するためのさまざまなオプションを含むテンプレートオブジェクト。 |
| template.allow_null_attribute_update | ブーリアン | オプション。重複排除タスク内の CI の属性競合を解決するときに、メイン CI 属性が重複 CI の null 値で更新されるかどうかを示すフラグ。 有効な値:
デフォルト:False |
| template.allow_master_ci_null_update | ブーリアン | オプション。メイン CI 値が null の場合にのみ、重複 CI からの更新が含まれます。 メイン CI 値が null の場合に、重複 CI からの更新のみを含めるかどうかを示すフラグ。 有効な値:
デフォルト:False |
| template.description | 文字列 | オプション。テンプレートに関する詳細情報を保存するための説明。 |
| template.duplicate_ci_action | 文字列 | オプション。重複 CI を削除するか、一意のカスタム値で更新するかを指定します。 選択可能なオプション:
|
| template.duplicate_ci_updates | アレイ | duplicate_ci_actionの設定が更新でない限り、オプションです。重複 CI 値の更新方法を指定するオブジェクトのアレイ。 |
| template.duplicate_ci_updates.element | 文字列 | 参照フィールドのシステム辞書名。 |
| template.duplicate_ci_updates.element_label | 文字列 | 参照フィールドに表示されるラベル。 |
| template.duplicate_ci_updates.value | 文字列 | 参照フィールドの値、つまり参照フィールドの内容。 |
| template.duplicate_ci_updates.display | 文字列 | 参照フィールドの表示値。 |
| template.master_ci_option | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスクに対してメイン CI を選択する方法を指定します。 選択可能なオプション:
|
| template.master_ci_条件 | 文字列 | オプション ( master_ci_option の値が 条件付きの場合は必須)。メイン CI の選択方法を指定するエンコードされたクエリ。クエリに一致する CI が複数ある場合、またはクエリに一致する CI がない場合、メソッドは最後に更新された CI をメイン CI として選択します。エンコードされたクエリがテンプレートテーブルに対して評価されます。このテーブルは table プロパティで識別されます。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| template.merge_relations | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。 選択可能なオプション:
|
| template.merge_relations | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI の関係を結合する方法を指定します。 選択可能なオプション:
|
| template.merge_relations_condition | 文字列 | オプション ( merge_relations の値が 条件付きの場合は必須)。重複 CI のすべての関係を結合するか、まったく結合しないかを指定するエンコードされたクエリ。クエリは、重複排除タスクに対して選択されたメイン CI で評価されます。クエリが true を返す場合、すべての関係が結合されます。false の場合、関係は結合されません。 エンコードされたクエリがテンプレートテーブルに対して評価されます。このテーブルは table プロパティで識別されます。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| template.merge_related_items | 文字列 | オプション。このテンプレートを適用するときに、重複排除タスク内の重複 CI のどの関連テーブルをメイン CI に結合するかを指定します。Remediate a de-duplication task (legacy) () も参照。 選択可能なオプション:
|
| template.merge_related_items_condition | アレイ | オプション。関連エントリごとにエンコードされたクエリがある関連エントリのリスト。各クエリーは、タスクに対して選択されたメイン CI で評価されます。クエリーが true を返した場合、重複排除タスクの修正中に関連エントリーが結合されます。false の場合、関連エントリは結合されません。詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| template.most_relations_merge_attributes | 文字列 | オプション。メイン CI との関係が最も大きい CI から結合されるカンマ区切り属性。 |
| template.most_related_items_merge_attributes | 文字列 | オプション。最も関連性の高いアイテムを持つ CI からメイン CI に結合されるカンマ区切り属性。 |
| template.name | 文字列 | テンプレートの名前。 |
| template.newest_updated_merge_attributes | 文字列 | オプション。最後に更新された CI からメイン CI に結合されるカンマ区切りの属性。 |
| template.oldest_created_merge_attributes | 文字列 | オプション。最も古く作成された CI からメイン CI に結合されるカンマ区切りの属性。 |
| template.table | 文字列 | テンプレートが作成されるテーブル。 |
| template.task_conditions | 文字列 | オプション。テンプレートの実行時に評価されるエンコードされたクエリ。このクエリは、重複タスク調整データ [reconcile_duplicate_task_data] テーブルで評価されます。このクエリから返されたすべてのタスクが、テンプレート評価時に考慮されます。 注: タスクがクエリの一部として返された場合でも、テンプレートの実行によってタスクが処理されるとは限りません。その他の要因により、テンプレートの処理中にタスクがスキップされる可能性があります。 詳しくは、 エンコード されたクエリ文字列 を参照してください。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | テンプレートが更新されたかどうかを示すフラグ。 有効な値:
|
次の例は、既存の重複排除テンプレートのいくつかのプロパティを更新する方法を示しています。
var template = {
"name": "Test Windows Template",
"table": "cmdb_ci_win_server",
"description": "This is a windows server template",
"master_ci_option": "newest_updated",
"master_ci_condition": "",
"allow_null_attribute_update": false,
"allow_master_ci_null_update": false,
"oldest_created_merge_attributes": "",
"newest_updated_merge_attributes": "ram,cpu_count",
"most_relations_merge_attributes": "",
"most_related_items_merge_attributes": "",
"merge_relations": "all",
"merge_relations_condition": "",
"merge_related_items": "conditional",
"merge_related_items_condition": [
{
"related_entry": "change_request.cmdb_ci",
"condition": "ramCONTAINS1024"
},
{
"related_entry": "incident.cmdb_ci",
"condition": "os_versionCONTAINSWindows"
}
],
"duplicate_ci_action": "delete",
"duplicate_ci_updates": "",
"task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
};
sn_cmdb.DuplicateTemplate.updateTemplate(<template_id>, template);
出力:
true