Get started with update sets

  • Release version: Xanadu
  • Updated August 1, 2024
  • 5 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Get started with update sets

    Update sets in ServiceNow enable you to capture and move customizations and application changes between instances. They are essential for managing patches, storing versions of applications, and exporting configurations. However, update sets should not be used to install applications; for that, use the application repository or ServiceNow Store. Proper planning and handling of update sets help avoid errors, performance issues, and conflicts during deployment.

    Show full answer Show less

    When to Use Update Sets

    • Storing changes: Capture modifications to base systems or installed applications.
    • Version control: Store and apply specific application versions.
    • Exporting: Produce files for exporting customizations.

    Use update sets primarily to deploy patches or changes, not for initial application installation.

    Planning the Update Process

    • Ensure source and target instances run the same ServiceNow version to avoid compatibility issues.
    • Group related changes into single, manageable update sets to simplify review and reduce conflicts.
    • Confirm base system records have matching sysid fields by provisioning and cloning production to non-production instances.
    • Follow a consistent migration path, moving update sets from development to test and then production.
    • Schedule update set commits outside business hours to minimize performance impact.
    • Use clear, standardized naming conventions including problem ticket references and sequence numbers for orderly tracking and application.
    • Understand which customizations are tracked, what records are generated, and which changes can be reversed after deployment.

    Working with Update Sets

    • Never delete update sets, as this can cause overwritten changes on the next migration.
    • Exclude the systemid field from ldapserverconfig records to avoid invalid references.
    • Do not back out the Default update set; this can damage the system.
    • Avoid manually changing the update set field on update records; instead, correct the update set by re-saving the object in the appropriate update set.
    • Mark update sets as Complete only when they are ready to migrate; do not revert to In Progress afterward. Use new update sets for additional changes.
    • Use the Merge Update Sets module to combine updates instead of manual merging, which ensures the newest versions are selected.
    • If issues occur after committing an update set in testing, fix in a new update set and migrate both sets in proper order.
    • Always preview update sets before committing them to production.
    • Set completed update sets on production to Ignore to prevent reapplication during instance cloning.
    • Keep a checklist of manual tasks and data loads required after applying update sets.
    • Avoid making many changes at once; verify changes incrementally to reduce risk.
    • Note that cross-domain updates (global and TOP domains) are not supported.

    Next Steps

    To begin using update sets, create and select an update set as the current set before making customizations, ensuring all changes are tracked correctly.

    Because update sets make changes to an instance, review this information to avoid errors and performance issues. Learn how to plan the update process and avoid common mistakes.

    When to use update sets

    Deployment option Good for Future considerations
    Update Sets Storing changes to a base system or installed application.

    Storing and applying a particular version of an application.

    Producing a file for export.

    You can manually create update sets to store a particular application version.

    Use update sets to deploy patches or changes to installed applications.

    Note:
    Don’t use update sets to install applications. Instead, use the application repository or the ServiceNow Store to install applications.
    Application Repository Installing and updating applications on all company instances.

    Automatically managing application update sets.

    Restricting access to applications to the same company.

    Deploying completed applications to end users.

    Consider uploading an application to the ServiceNow Store to share it with other users.

    Allows installation of and update to the latest application version only.

    Use update sets to store prior application versions.

    Note:
    If used with team development, publish applications only from a parent instance.

    Plan the update process

    Before working with update sets, create a standard process for moving customizations from instance to instance using this check list:
    1. Check that both instances are on the same version. Customizations may not work if they rely on code that has changed between versions.
    2. Determine the changes to make in a single update set. Complete your update sets as you finish small to medium-sized tasks. As update sets get larger, it becomes harder to review them, takes longer to identify changes within them, increases the risk of conflicts with other update sets, and takes more time to preview and commit them. This is especially true if the update sets contain schema changes or revisions to large workflows or if the set has to be backed out.
    3. Confirm that all base system records have matching sys_id fields. Some base system records are created on an instance after provisioning and don’t match between different instances, leading to problems with update sets. The best way to avoid this issue is to:
      • Provision production and non-production instances.
      • Clone the production instance onto the non-production instance.
    4. Identify a common path for update sets to move from instance to instance and maintain that model. Never migrate the same update set from multiple sources. Move update sets from dev to test and then from test to production.
    5. Plan for when to commit the update sets to production. Avoid committing an update set to a production instance during business hours. The instance may perform more slowly while the update set applies. Rest assured, this slower performance is temporary.
    6. Make sure update set names are clear. Create a naming convention to coordinate changes from multiple developers and to reference when committing the changes to another instance.
      • If update sets are being generated as fixes for problems, consider including the problem ticket in the name (for example, PR10005 - Duplicate Email Issues Fix).
      • If you need more than one update set to address a problem, include a sequence number in the naming convention. Doing so helps ensure that update sets are applied in the order that they were created (for example, PR10005 - Duplicate Email Issues Fix and PR10005.2 - Duplicate Email Issues Fix).
    7. Understand the following about update sets:
      • What records are generated.
      • Which customizations are tracked.
      • Which dictionary changes are valid.
      • Which customizations can be backed out (reversed) after applied.
    8. Before making any customizations, double-check that the correct update set is selected.

    Working with update sets

    Review this information to avoid errors and performance issues.
    • Don’t delete update sets. If an update set is deleted, any updated records may be overwritten in the next update.
    • Don’t include the system_id field from the ldap_server_config record in an update set. An update set from a working configuration points to the wrong system_id node for the target instance and doesn’t work.
    • Don’t back out the Default update set. This action damages the system.
    • Never change the Update Set field value (update_set) in a Customer Update record (sys_update_xml). If a customization is made in the wrong update set, take the following action:
      1. Switch to the desired update set.
      2. Modify the object (record) that was originally changed. You can make a trivial change, such as adding a field.
      3. Save the record.
      4. Back out the change just performed, and then save the record again.

        This action ensures that the latest version of the object is included in the desired update set and prevents duplicate updates for the same object in a single update set.

    • Don’t mark an update set as Complete until it’s ready to migrate. After an update set is complete, don’t change it back to In progress. Instead, create another update set for the rest of the changes, and make sure to commit them together in the order that they were created. Naming conventions may help in this case (for example, Performance Enhancements and Performance Enhancements 2).
    • Don’t manually merge updates into an update set. Use the Merge Update Sets module. This tool compares duplicate files between update sets and selects the newest version.
    • If a committed update set has a problem in the test instance, build the fix in another update set in the development instance. Commit this set to the test instance, and then make sure both sets are migrated to the production instance and committed in the order they were made.
    • Always preview an update set before committing it.
    • Set completed update set on the production instance to Ignore. This state ensures the update set isn’t reapplied when cloning the instance.
    • Keep a to-do list of manual changes and data loads that must be completed after an update set is applied.
    • Don’t make too many changes at one time. Verify that the correct changes have been made incrementally.
    • You can’t change a single update to update across multiple domains (that is, global and TOP domains). This function isn’t supported in the ServiceNow AI Platform.

    To create an update set see Create and select an update set as the current set.