ServiceNow Update All is a scoped application that automates the process of updating ServiceNow plugins and applications. It solves a common pain point for ServiceNow administrators who need to regularly update multiple applications across their instance.
Instead of manually updating each application one at a time through the UI, this application provides:
- Automated batch updating of plugins
- Scheduled weekly execution
- Configurable skip lists for sensitive applications
- Batch size control to prevent system overload
- Detailed logging
- Import the update set into your ServiceNow instance
- Commit the update set
- The application will be installed with the scope
x_snc_update_all
The application uses the following system properties to control its behavior:
- Purpose: Defines which plugins should be excluded from the automated update process
- Type: String (comma-separated list)
- Default: Empty (no skipped plugins)
- Example:
com.glide.service-mapping,com.glide.discovery,sys_id_of_plugin_to_skip - Note: You can use either the plugin source identifier or the sys_id
- Purpose: Controls how many plugins will be updated in a single execution
- Type: Integer
- Default: 600
- Recommendation: Lower this value if you experience performance issues during updates
By default, the application runs automatically as a scheduled job:
- Job Name: UpdateAll Plugins Weekly Job
- Schedule: Weekly on Sundays at 12:00 AM
- Table: sysauto_script
You can modify the schedule through the Scheduled Jobs table in ServiceNow.
There are two ways to manually execute the update process:
- Navigate to System Definition > Scheduled Jobs
- Search for "UpdateAll Plugins Weekly Job"
- Open the job record
- Click the "Execute Now" button at the top of the form
- Navigate to System Definition > Scripts - Background
- Create a new background script
- Enter the following code:
var result = x_snc_update_all.UpdateAllPlugins(); gs.print(JSON.stringify(result, null, 2));
- Click "Run script"
The application generates detailed logs that can be viewed in the System Logs:
- Navigate to System Logs > System Log
- Filter for Source containing "x_snc_update_all"
The logs include:
- Start and completion of the update process
- Number of plugins found for updating
- Skipped plugins (if any)
- Status of each plugin update (success or failure)
- Total duration of the update process
-
Error: Failed to refresh store data
- Cause: Connection issues with the ServiceNow Store
- Solution: Check network connectivity to the ServiceNow Store, verify proxy settings if applicable
-
No plugins found for update
- Cause: The store data may not be refreshed or all plugins are already up to date
- Solution: Wait for the store to refresh or manually check for updates in the Application Navigator
-
Updates failing for specific plugins
- Cause: Plugin-specific issues or dependencies
- Solution: Check the error message in the logs and try updating the plugin manually
If updates fail for some plugins, you can retry by:
- Adding the successfully updated plugins to the skip list
- Running the update process again
- Schedule during off-hours: Run updates during periods of low system usage
- Skip critical applications: Add mission-critical applications to the skip list
- Test updates: Consider testing updates in a sub-production environment first
- Monitor logs: Regularly check the logs to ensure the update process is working correctly
- Adjust batch size: Fine-tune the batch size based on your instance's performance
The main script include, UpdateAllPlugins, performs these operations:
- Refreshes the store data to get the latest plugin information
- Queries the
sys_store_apptable for updatable plugins - Processes updates in batches as defined by the batch size property
- Logs detailed information about the update process
- Returns a summary of the update operation
For issues with this application, please contact your ServiceNow administrator or the application developer.