CIRelatedList : global
L’include de script CIRelatedList est une classe utilitaire qui fournit des méthodes pour travailler avec les listes connexes d’éléments de configuration (CI).
Chaque instance de cet include de script contient les détails d’une liste unique associée à un CI particulier. Les détails de cette liste et son contenu sont inclus.
À utiliser avec n’importe quel script de détection côté serveur.
CIRelatedList : addRec(Enregistrement d’objet)
Ajoute l’enregistrement spécifié à la liste connexe.
| Nom | Type | Description |
|---|---|---|
| enregistrement | Objet | Chaque membre de l’objet est un nom de colonne dans la table associée. Par exemple, si vous faites référence à la table cmdb_serial_number, cette valeur peut contenir quelque chose de similaire à ce qui suit :
|
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment ajouter un enregistrement à une liste connexe de CI.
var ciDataObj = new CIData(); // Instantiate a new CIData class object
// sys_id of the CI to which the related list is attached.
var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
// Create an object and add the serial numbers
var sr = {"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"};
rl.addRec(sr); // Add the related list. Sets the given records to the related list.
ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
gs.info(JSON.stringify(rl, null, 4)); // Display the added related list
Sortie :
{
"GlideRecordUtil": {},
"ignoreFields": {
"sys_created_by": true,
"sys_updated_by": true,
"sys_mod_count": true
},
"records": [
{
"serial_number_type": "bios",
"serial_number": "1BC5E4z89246",
"valid": "true"
}
],
"m2m_records": [],
"table_name": "cmdb_serial_number",
"field_name": "cmdb_ci",
"cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
"debug_flag": "true",
"isM2M": false,
"target_table_name": null,
"target_ref_field_name": null
}
CIRelatedList : addRecs(Array records)
Définit les enregistrements donnés dans la liste connexe.
| Nom | Type | Description |
|---|---|---|
| Enregistrements | Tableau d'objets | Chaque objet représente un enregistrement dans la table associée. Chaque membre de l’objet est un nom de colonne dans cette table. Par exemple, si vous faites référence à la table cmdb_serial_number, cette valeur peut contenir quelque chose de similaire à ce qui suit :
|
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment ajouter plusieurs enregistrements à une liste connexe de CI.
var ciDataObj = new CIData(); // Instantiate a new CIData class object
// sys_id of the CI to which the related list is attached.
var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
// Create an object and add the serial numbers
var sr = [{"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"},{"serial_number_type":"baseboard","serial_number":"w4z89246","valid":"true"}];
rl.addRecs(sr); // Add the related list. Sets the given records to the related list.
ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
gs.info(JSON.stringify(rl, null, 4)); // Display the added related list
Sortie :
{
"GlideRecordUtil": {},
"ignoreFields": {
"sys_created_by": true,
"sys_updated_by": true,
"sys_mod_count": true
},
"records": [
{
"serial_number_type": "bios",
"serial_number": "1BC5E4z89246",
"valid": "true"
},
{
"serial_number_type": "baseboard",
"serial_number": "w4z89246",
"valid": "true"
}
],
"m2m_records": [],
"table_name": "cmdb_serial_number",
"field_name": "cmdb_ci",
"cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
"debug_flag": "true",
"isM2M": false,
"target_table_name": null,
"target_ref_field_name": null
}
CIRelatedList : appendXMLChildFld(String parent, String name, String datum)
Ajoute un enfant XML à un champ.
| Nom | Type | Description |
|---|---|---|
| parent | Chaîne | L’élément parent |
| nom | Chaîne | Nom de l’élément |
| donnée | Chaîne | Données à ajouter |
| Type | Description |
|---|---|
| nul |
CIRelatedList : appendXMLChildRecord(String parent, String name, String record)
Ajoute un enfant XML à un enregistrement.
| Nom | Type | Description |
|---|---|---|
| parent | Chaîne | L’élément parent |
| nom | Chaîne | Nom de l’élément |
| enregistrement | Chaîne | L’enregistrement |
| Type | Description |
|---|---|
| nul |
CIRelatedList : checkSysCollection()
Vérifie s’il s’agit d’une table SysCollection. Si c’est le cas, définit le nom de la table cible et le nom du champ de référence.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| CIRelatedList | Une instance de CIRelatedList pour la liste spécifiée. |
CIRelatedList : checkSysM2M()
Vérifie s’il s’agit d’une table système plusieurs-à-plusieurs. Si c’est le cas, définit le nom de la table cible et le nom du champ de référence.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Vrai s’il s’agit d’une table système plusieurs-à-plusieurs ; sinon, faux. |
CIRelatedList : CIRelatedList(Table de chaînes, Chaîne refField, Chaîne cmdb_ci, Chaîne debugFlag)
Crée une instance de la classe CIRelatedList. Sans arguments, construit simplement une instance vide.
| Nom | Type | Description |
|---|---|---|
| table | Chaîne | Table contenant la liste connexe. Si la table est plusieurs-à-plusieurs, la table plusieurs-à-plusieurs. |
| refField | Chaîne | Champ de référence dans la table pour cette liste connexe. |
| cmdb_ci | Chaîne | Le sys_id du CI auquel cette liste est associée. |
| marqueur de débogage | Chaîne | Si vrai, la journalisation de débogage est activée. |
CIRelatedList : fromXML(Élément chaîne)
Initialise cette instance à partir de l’élément XML spécifié.
| Nom | Type | Description |
|---|---|---|
| élément | Chaîne | Un élément XML |
| Type | Description |
|---|---|
| nul |
CIRelatedList : populate()
Renseigne le champ this.records de cette instance.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
CIRelatedList : toString(résultat du tableau)
Crée une représentation de chaîne de cette instance, en poussant chaque ligne à la fin du tableau de résultats donné.
Cette méthode est appelée à partir de CIData.toString() et suppose que les lignes de la liste connexe doivent être mises en retrait de deux espaces.
| Nom | Type | Description |
|---|---|---|
| résultat | Tableau | Résultat à convertir |
| Type | Description |
|---|---|
| nul |
CIRelatedList : toXML(Document chaîne, élément de chaîne)
Sérialise cette instance en XML dans le document et l’élément <rl> donnés.
| Nom | Type | Description |
|---|---|---|
| document | Chaîne | Le document |
| élément | Chaîne | L’élément rl |
| Type | Description |
|---|---|
| nul |
CIRelatedList : supprimer()
Supprime tous les éléments de liste connexes.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
Cet exemple de code supprime les enregistrements connexes mappés aux éléments CI portant le nom = *JEMPLOYEE-IBM. Cet exemple concerne une table non M2M.
//Get a configuration item record which has a related list. Example: CI items with the name = *JEMPLOYEE-IBM.
var ciRecord = new GlideRecord("cmdb_ci_computer");
ciRecord.addQuery("name", "*JEMPLOYEE-IBM");
ciRecord.query();
if (ciRecord.next()) {
var relRecordTable = 'cmdb_ci_network_adapter'; // The table containing the related list (if many-to-many, the many-to-many table)
var relRecordField = 'cmdb_ci'; // The reference field in the table for this related list
var cmdb_ciHasRelRecord = ciRecord.sys_id; // The sys_id of the CI this list is related to.
var debugFlag = 'true'; // True if debug logging is enabled.
// Get the related record List
var CIRelatedList = new CIRelatedList(relRecordTable, relRecordField, cmdb_ciHasRelRecord, debugFlag);
CIRelatedList.remove(); // Delete all related records
}
CIRelatedList : xmlToRecord(enregistrements de chaîne, élément de chaîne)
Convertit une liste connexe de XML au format d’enregistrement.
| Nom | Type | Description |
|---|---|---|
| Enregistrements | Chaîne | Enregistrement à créer |
| élément | Chaîne | L’élément XML |
| Type | Description |
|---|---|
| nul |