Skip to content

Commit 4f0257a

Browse files
authored
Create script.js
1 parent a3e9c13 commit 4f0257a

File tree

1 file changed

+45
-0
lines changed
  • Server-Side Components/Scheduled Jobs/Auto upgrade store applications

1 file changed

+45
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
upgradeSelectedStoreApps();
2+
3+
function upgradeSelectedStoreApps() {
4+
var propertyName = "auto_upgrade_store_apps";
5+
var storeAppsList = gs.getProperty(propertyName, "");
6+
if (!storeAppsList) {
7+
gs.info("No store applications listed for auto-upgrade.");
8+
return;
9+
}
10+
var appsToUpgrade = storeAppsList.split(",").map(function(app) {
11+
return app.trim();
12+
});
13+
var upgradedApps = [];
14+
var storeAppGr = new GlideRecord('sys_store_app');
15+
storeAppGr.addQuery('active', true); // Only active store applications
16+
storeAppGr.addQuery('sys_id', 'IN', appsToUpgrade); // Filter by system property list
17+
storeAppGr.query();
18+
while (storeAppGr.next()) {
19+
var appId = storeAppGr.getValue('sys_id');
20+
var appName = storeAppGr.getValue('name');
21+
var currentVersion = storeAppGr.getValue('version');
22+
var availableVersion = storeAppGr.getValue('latest_version');
23+
if (availableVersion && currentVersion !== availableVersion) {
24+
try {
25+
gs.info('Upgrading store application: ' + appName + ' from version ' + currentVersion + ' to ' + availableVersion);
26+
var worker = new sn_appclient.AppUpgrader();
27+
storeUpgradeResult = worker.upgrade(appId.toString(), availableVersion.toString(), false);
28+
if (storeUpgradeResult) {
29+
gs.info('Store application "' + appName + '" upgraded successfully.');
30+
upgradedApps.push({
31+
name: appName,
32+
fromVersion: currentVersion,
33+
toVersion: availableVersion
34+
});
35+
} else {
36+
gs.error('Failed to upgrade store application: ' + appName);
37+
}
38+
} catch (e) {
39+
gs.error('Error upgrading store application "' + appName + '": ' + e.message);
40+
}
41+
} else {
42+
gs.info('Store application "' + appName + '" is already up-to-date.');
43+
}
44+
}
45+
}

0 commit comments

Comments
 (0)