Name

sn_appauthor.CustomizationPackager

Description

No description available

Script

var CustomizationPackager = Class.create();
CustomizationPackager.prototype = {
  initialize: function(/*sys_stote_app*/ sys_store_app, /*sys_app_customization*/ sys_app_customization) {
  	this._sys_store_app = sys_store_app;
  	this.sys_app_customization = sys_app_customization;
  },

  packageAppCustomization: /*{ sys_attachment sys_id: String, file_name: String }*/ function() {
  	var packager = new GlideAppCustomizationPackager(this._sys_store_app);
  	var zipOutputStream = packager.packageAppCustomization();
  	var manifest = new AppManifestMaker().makeCustomizationManifest(this._sys_store_app, { "include_other_files": true }, this.sys_app_customization);
  	var jsonWriter = new global.JSON();
  	jsonWriter.prettify();
  	var json = jsonWriter.encode(manifest);
  	var fileName = this.sys_app_customization.getRecordClassName() + "_" + this.sys_app_customization.sys_id + "_manifest.json";
  	
  	gs.debug('Unloading: ' + fileName);
  	try {
  		if (!zipOutputStream.putNextEntry(fileName))
  			return false;
  		
  		zipOutputStream.write(json);
  	} finally {
  		zipOutputStream.closeEntry();
  		zipOutputStream.close();
  	}
  	
  	var attachmentSysId = zipOutputStream.getAttachmentSysID();
  	var zipFilename = '';
  	if (attachmentSysId) {
  		var attachmentGR = new GlideRecord('sys_attachment');
  		if (attachmentGR.get('sys_id', attachmentSysId))
  			zipFilename = attachmentGR.file_name;
  	}

  	return {
  		sys_id: attachmentSysId,
  		file_name: zipFilename
  	};
  },
  
  type: 'CustomizationPackager'
};

Sys ID

2353576377121010ca93aeca78106131

Offical Documentation

Official Docs: