CIRelatedList : global
L’API CIRelatedList est une classe utilitaire pour l’utilisation des listes connexes de CI.
Chaque instance de cette classe 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 |
|---|---|---|
| record | 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(enregistrements de tableau)
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(parent de chaîne, nom de chaîne, référence de chaîne)
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(Parent de chaîne, nom de chaîne, enregistrement de chaîne)
Ajoute un enfant XML à un enregistrement.
| Nom | Type | Description |
|---|---|---|
| parent | Chaîne | L’élément parent |
| nom | Chaîne | Nom de l’élément |
| record | 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 | 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 | True s’il s’agit d’une table sys plusieurs-à-plusieurs ; sinon, faux. |
CIRelatedList : CIRelatedList(String table, String refField, String cmdb_ci, String 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. S’il s’agit de plusieurs à plusieurs, il s’agit de la table plusieurs à plusieurs. |
| refField | Chaîne | Champ de référence dans la table pour cette liste connexe. |
| cmdb_ci | Chaîne | sys_id du CI auquel cette liste est associée. |
| debugFlag (en) | Chaîne | Si vrai, la journalisation de débogage est activée. |
CIRelatedList : fromXML(élément de 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 liste connexes doivent être indentées de deux espaces.
| Nom | Type | Description |
|---|---|---|
| résultat | Tableau | Résultat à convertir |
| Type | Description |
|---|---|
| nul |
CIRelatedList - toXML(Document de 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 de 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 en format d’enregistrement.
| Nom | Type | Description |
|---|---|---|
| Enregistrements | Chaîne | L’enregistrement à créer |
| élément | Chaîne | L’élément XML |
| Type | Description |
|---|---|
| nul |