GlideUpdateManager2 Documentation

Nuno Oliveira
Mega Guru

Hi there,

 

Does anyone know if there is any documentation for the GlideUpdateManager2 class?

I'm trying to  implement a method that adds some record to a specific update set and I was thinking to use this class, however I can't find any documentation or even if this can be accomplish with this class. 

 

Best regards

4 REPLIES 4

sourav66
Tera Contributor

Hi, 
I was facing a similar issue, where I needed to add something to my update set using script, but couldn't find any specific documentation, but found these 2 following articles. I hope they're useful for anyone having similar issues.

Suresh1
Tera Guru

Hi @Nuno Oliveira  @sourav66 :

 

Does anyone found solution to this above question? Am also trying to move records to specific update set only not current update set. How to achieve this?

Hi @Suresh1 ,

 

Basically what I did was something like this: 

 

 

addToUpdateSet: function(glide_record){
		var um = new GlideUpdateManager2();
		um.saveRecord(glide_record); 
}

forceToUpdateSet: function(id, update_set_id) {
		var gr = new GlideRecord('sys_update_xml');
		gr.addEncodedQuery('nameLIKE' + id);
		gr.query();
		gr.next();
		gr.update_set = update_set_id;
		gr.update();
}

 

The idea here is to get the inserted record and added it directly into an update set. Then get that record and change it to the update set we need. This worked for me. 

 

A simple usage example:

var gr = new GlideRecord('core_company');
gr.initialize();
gr.name= "XPTO company";
var id = gr.insert();
addToUpdateSet(gr);
forceToUpdateSet(id, "Update set id");

 

Hope this works for you.

 

BR

benlittle
Tera Expert

The methods/properties of the class are:

*** Script: saveBaselineChoiceListElements
*** Script: getClass
*** Script: setGenerateGuid
*** Script: pushFileInfo
*** Script: loadFromDatabase
*** Script: tableLogger
*** Script: setTableLogger
*** Script: copyCurentVersionGuid
*** Script: testFixScript
*** Script: removeUpdateSet
*** Script: allowVersionBackout
*** Script: saveRecord
*** Script: setUpdateControllerSyncHistoryID
*** Script: updateControllerSyncHistoryID
*** Script: saveForms
*** Script: insertVersion
*** Script: updateName
*** Script: saveListElements
*** Script: loadFromTest
*** Script: publishRecord
*** Script: explicitSaveRecord
*** Script: setCopyCurentVersionGuid
*** Script: loadXML
*** Script: wait
*** Script: createTable
*** Script: createDefaultBaselineVersion
*** Script: notifyAll
*** Script: loadIntoDatabase
*** Script: installing
*** Script: notify
*** Script: loadFixes
*** Script: load
*** Script: hashCode
*** Script: allowBackout
*** Script: class
*** Script: saveSectionElements
*** Script: progressController
*** Script: getUpdateSetId
*** Script: createBaselineVersion
*** Script: defaultUpdateName
*** Script: newElement
*** Script: processTableUpgradeListeners
*** Script: getDefaultUpdateName
*** Script: popFileInfo
*** Script: getUpdateName
*** Script: saveChoiceListElements
*** Script: generateGuid
*** Script: updateSetId
*** Script: equals
*** Script: createDocumentationUpdateAndVersion
*** Script: loadFile
*** Script: setInstalling
*** Script: toString
*** Script: saveRelatedList
*** Script: setProgressController

I know that .saveRecord(GlideRecord) pushes the record to the current update set:

var gr = new GlideRecord('sys_user');
gr.get('b4b0e18c87de55123450dac83cbb35e5')

var um = new GlideUpdateManager2();
var umResult = um.saveRecord(gr);

and .loadXML(xmlFile) applies the XML to the instance, as if you were committing an update set

var xmlPayload = '<?xml version="1.0" encoding="UTF-8"?>
<unload unload_date="2025-06-05 20:25:46">
<ecc_agent action="INSERT_OR_UPDATE">
. . .
. . .
<usual XML Export data for a record here>
. . .
. . .
</ecc_agent>
</unload>';

var um = new GlideUpdateManager2();
um.loadXML(xmlPayload); //load that xml

I'm still working on the rest