Thank you for your feedback.
Form temporarily unavailable. Please try again or contact to submit your comments.

Jakarta Patch 4

Log in to subscribe to topics and get notified when content changes.

Jakarta Patch 4

The Jakarta Patch 4 release contains fixes to these problems.

Jakarta Patch 4 was released on October 6, 2017.
Build date: 10-04-2017_1643
Build tag: glide-jakarta-05-03-2017__patch4-09-21-2017
Important: For more information about how to upgrade an instance, see Upgrade to Jakarta.

For more information about the release cycle, see the ServiceNow Release Cycle. For a downloadable, sortable version of Jakarta fixed problems, see KB0623655.

Note: This version is approved for FedRAMP.

Security-related Fixes

Jakarta includes fixes for security-related problems that affected certain ServiceNow® applications and the Now Platform®. We recommend that customers upgrade to this release for the most secure and up-to-date features. For more details on security problems fixed in Jakarta Patch 4, refer to KB0635462.

Notable fixes

The following problems and their fixes are ordered by potential impact to customers, starting with the most significant fixes.
Problem Short description Description Steps to reproduce




During the TPP migration, if a row size limitation error occurs, the CMDB table may experience data loss

During the TPP migration, a MySQL row size limitation error can occur when there is a large number of medium text fields on the CMDB and its child tables. The migration can fail and cause data loss.

If this has occurred, the state of the migration will be in "Complete (with errors)". Check the sys_tpp_migration record for "Base Configuration Item [cmdb]" to see the state of the TPP migration.

Refer to the listed KB article for details.




Long running events cause delays in email and other events processing

When processing events, the following can occur due to some changes made in Jakarta and cause a slow query:

  • Longer time to process events (inbound email specifically).
  • Backlog of events due to longer processing events (delays for other events in the same queue).

Refer to the listed KB article for details.




Unable to see tags data when the tags column is added to a report
  1. Navigate to Incident > Open and select an incident.
  2. In the header, click the More options (...) icon and select Add Tag.
  3. Type text in the Add tag field and press Enter.

    Note the incident number.

  4. Navigate to Reports > View/Run and click Create a report.
  5. Create a report with the following values:
    • Report name: Test Tags
    • Data Source: [Click Use a Table instead]
    • Table: Incident
    • Filter: [Number][is][Number of modified incident]
  6. Click Next to choose the type of report chart, and click Next again to choose the columns to display.
  7. Use the slushbucket to add the Tags field to anywhere but the first column in the report and click OK.
  8. Click Run to run the report.

Note that the Tags column is blank despite the text added to create a tag.



In the approval script, Group does not default the result as 'requested' while waiting for the approval or rejection In Jakarta, the approval script does not return the 'requested' state for the item or the task before it is approved or rejected.




Manual approval as the first step in a workflow process does not work in Jakarta In Jakarta, if previous steps do not allow time for a manual approver to be assigned, users cannot have a manual approval as the first approval in a workflow or have a manual workflow in an approval co-ordinator.

Refer to the listed KB article for details.

UI Components



List header shows escaped apostrophe/quote character as \' This issue affects users who need to have Table Column Label names that contain apostrophes, double quotations, &, and <. These characters are displayed in the list view as escaped \'. Users of languages using apostrophes and such characters frequently are particularly affected (e.g. French).
  1. Create a table or open any table from sys_db_object.
  2. Change one of the column labels to have an apostrophe in its name. This is a common pattern in the French language (e.g. l'oiseau).
  3. Click Save.
  4. Visit the table directly in its list view. Ensure that the column with the apostrophe name is visible.

Notice that the apostrophe is escaped. In this example, it shows as "l\'oiseau" instead of "l'oiseau".

Service Catalog: Service Portal Widgets



Catalog items are not sorted by 'order' in Service Portal when displayed

With an active Service Portal plugin in Jakarta instance:

  1. Navigate to <instance>/sp and click Order Something.
  2. Click How can we help you? category name on the left.

Notice the catalog items are displayed, but they are not sorted by the order set.



Inbound email with in-reply-to header matching a record without a target table it will fail to create an event When an incoming email with an in-reply-to header is received, if the message-id is found on the sys_email, the target table is read. If there is no target table, the application throws an exception. If there is no event created, then the inbound actions will not run.

All Other Fixes

Problem Short description Description Steps to reproduce

Activity Stream



HTML fields in the activity stream show HTML tags If an HTML field is added on the form and the activity stream, when the field changes, its content shows on the activity stream including HTML tags. This issue is specific to Jakarta release.
  1. Navigate to the incident form:
  2. Use Configure > Form Layout to add an HTML field called Test HTML.
  3. Open the form again, and create an incident with blank value on the new Test HTML field.
  4. Open the newly created record, navigate to the activity section, and click the Funnel or Filter icon.
  5. Scroll down and click the Configure available fields link.
  6. Add the Test HTML field in the slushbucket.
  7. Navigate back to the form again, and change the value in the Test HTML field to 'Hello World'.
  8. Save the record.

In activity stream, 'Hello World' appears as '<p>Hello World</p>'.

Audit Management


In the Audit Management application, the Generate Control Tests button does not work in Istanbul and Jakarta but works in Helsinki Install the following plugins
  • com.snc.governance
  • com.sn_audit
Steps to reproduce
  1. Navigate to Audit > Engagements > All Engagements.
  2. Open any record.
  3. Navigate to the related list "Test plans".
  4. Among the boxes right next to the "i" icon, check four of them.
  5. Click Generate Control Test.

Despite the message "Control tests have been generated", in the related list "Audit Task" no records were generated. This is not working in Istanbul and Jakarta but is working fine in Helsinki.

Cloud Management Application


Data from Azure billing discovery sometimes ignores smaller downloads (less than 3 MB)
  1. Set up an Azure billing discovery that has less than 3 MB of data (small subscriptions or early in month).
  2. Execute the billing discovery.

About 50% of the time under these conditions, the download finishes more quickly than usual. Data are skipped due to problems with column headers. No data shows up in the download report.

Cloud Management Application


Virtual machine instance disks information is missing for provisioned instances


  1. The service account and cloud account should be created.
  2. Run Discovery.
  3. Templates should be mapped to profiles.

Steps to reproduce

  1. Navigate to the blueprint module.
  2. Create a virtual machine on vSphere blueprint and generate the cat item.
  3. Navigate to the user portal and order virtual machines on vSphere.
  4. Once the order is complete, navigate to the resource link and look for the virtual machine instance.

Disk details are empty for vSphere resource.

Cloud Management Application


Orchestration becomes wrongly successful even if the imported blueprint is invalid and the script execution has failed When the blueprint is not imported properly, a proper error is expected to display when the script or template is not present. However, the execute script operation suddenly becomes successful even without a script template.

Cloud Management Application


Unsupported types provisioned via CFT do not get added to the stack Unsupported resources provisioned from CFT should be put in cmdb_ci_cmp_resource and attached to the stack that is provisioned. The resource is created in cmdb_ci_cmp_resource. However, it is not added to the stack. Errors in the log indicate that it cannot read invocatingNode from undefined.

Cloud Management Application


When provisioning a virtual machine in Azure and creating a resource group, the resource group goes into cmdb_ci_resource_group with an empty name Prerequisites
  1. A cloud account should be created and discovered.
  2. Templates should be mapped to profiles.

Steps to reproduce

  1. Create a virtual machine on Azure BP and create a cat item.
  2. Navigate to the user portal.
  3. Order a cat item.

    Make sure 'CreateResourceGroup' is set to Yes and provide the resource group name.

In the cmdb_ci_resource_group table, the name is empty.

Cloud Management Application


IP address and disk objects are left behind once after deprovisioning the virtual machine on Azure
  1. Navigate to the blueprint module and import the attached blueprint.
  2. Navigate to the user portal.
  3. Order the application.

    Make sure the discover, the attach attribute, and the manage disk attribute value is set to true.

  4. Once the provision is complete, deprovision the stack.
  5. Once the deprovision is complete, log into the Azure console and verify the virtual machine, IP address, and disk status.

When the deprovision is done, only the virtual machine gets deleted. IP address and disk objects are left behind.

Cloud Management Application


AWS config creates EC2 instances with a state of "error" due to v1 workflows triggered accidentally after an upgrade EC2 instances created by the AWS config integration begin in an "error" state (until it is powered off/on, or regular scheduled discovery runs).

Cloud Management Application


Two scheduled jobs created by the Cloud Management plugin may delete data unintentionally

The job “Global: Clear terminated/stale cloud resources" is inactive by default and the property that activates it is also set to false by default. When the job is executed, it deletes data incorrectly. The job is designed to delete old cloud configuration items (CIs), but it also deletes CIs from the application and service tables.

The job "Azure: Clear terminated/stale cloud resources" is also disabled by default. When the job is executed, it deletes the CI resources under Azure scope only.

Cloud Management Application


Start/Stop stack does not do anything for ARM/CFT based stacks After provisioning a stack with virtual machines using ARM or CFT, users cannot stop the stack.

Cloud Management Application


When a new scripted CAPI is created, users should not be able to create CAPI parameter mappers in the UI

When a new scripted CAPI is created, user should not be able to create CAPI parameter mappers in the UI. This breaks the system completely when it is done and hence the UI needs to be locked down. Importing a scripted CAPI should discard all parameter mappings that are provided in the YAML.

Cloud Management Application


Cloud API does not error out when the provisioning fails due to the incorrect datastore
  1. Create a blueprint to provision a VM with datastore.
  2. Assign an incorrect datastore through the policy.

The creation of VM fails but the cloud API call is displayed as successful.

Configuration Management Database (CMDB)


CMDB query builder does not return correct results The query works with the rack filter in place, but fails to return results when the filter is removed.

Configuration Management Database (CMDB)


Duplicate records in the exported CSV file Multiple duplicates created when exporting data from CMDB query builder.

Configuration Management Database (CMDB)


CMDB dashboard relationship widgets do not calculate properly The CMDB health dashboard jobs are not completing, and therefore not updating the dashboard.

Configuration Management Database


Customer updated records in the cmdb_health_scorecard_threshold table are being overwritten in upgrades Several records, while still having the update_synch attribute and having it set to true, are not getting the sys_customer_update field on the sys_metadata table set to true. The records show as being updated recently by users, but the sys_customer_update field is not getting set as expected.

Core Platform


When grouping by state on the change_request table, the result often returns an integer instead of the state value
  1. Navigate to /
  2. On the state column header, right click Group By > State.

Some states show as integers instead of string values.

Core Platform


Default semaphore exhausted GlideRecord extended fields are leaking memory when used in a scope.

Core Platform



Service Portal is returning list of empty rows Calculated Fields are now evaluating ACLs.

Refer to the listed KB article for details.

Customer Service Management


Duplicate index issue on account_code An issue occurs when creating a customer account and lots of accounts (by a running import) at the same time. An error message is displayed about a duplicate index on account_code. Two transactions happening at the same time can fetch the same account code, and thus one will have an issue when it is saved.
  1. Activate the Customer Service Management plugin.
  2. Generate a CVS or XLS file with lots of records. The import should run for 5-10 minutes.
  3. While the import runs, create an account through the UI or a background script.

Customer Service Management


Customers are unable to attach documents through the live chat
  1. Log into the CSM portal as a customer.
  2. Click the chat icon.
  3. Connect with an Agent.
  4. Click the attachment link and upload any document.

The attachment is not uploaded successfully.




MID Server only caches the first 250 scripts

Attempting to run a JavaScript probe which is in a script that is not cached results in an error:

MID Server Script Include VMWarevCenterVMsProbe does not exist.

  1. Enter sys_properties.list in the navigation search field in the instance and press Enter.
  2. In the list of system properties, click New.
  3. Add the glide.remote_glide_record.max_count property and set the value to 50.

    This reduces the number of scripts includes that can be cached, making it easier to reproduce the problem.

  4. Run a vCenter discovery.

Notice that the VMWarevCenterDatacentersProbe script (or one or more of the subsequent vCenter scripts) is not found.

Edge Encryption


Updating to a report list view fails if the filter contains a '<' indication Through the Edge Proxy, users are unable to update to a report list view if the filter contains a "<" indication. An error occurs in the node log: The value of attribute 'query' associated with an element type 'record_update' must not contain the '<' character.

Edge Encryption


When MID Server is connected through Edge Encryption proxy, MID Server no longer communicates with the instance when an Encryption pattern is active When MID Servers are configured to route through Edge Encryption proxy, the MID Servers stop sending XML payloads back to the instance.

Edge Encryption


From proxy, data is getting saved as &amp; when users enter & from the list view
  1. Create the encryption configuration for the incident.shortdescription.
  2. Navigate to the incident table.
  3. Enter & <> in the short description column from list view.

It gets translated to &amp; &lt;&gt;.

Edge Encryption



Edge proxy upgrade downloads for auto-upgrades are not using the web proxy settings, making it fail in some of those configurations

Edge distribution downloads for auto-upgrades are not using the web proxy settings.

Those downloads will hit the instance directly, relying on the server having access to the internet and will fail if they do not.

Refer to the listed KB article for details.

Express to Enterprise


cmn_schedule entries are missing after the conversion from Express to Enterprise cmn_schedule entries are missing after the conversion from Express to Enterprise, which includes 8-5 weekdays, 8-5 weekdays excluding holidays, and the U.S. holidays.

Human Resources Service Management


Notification recipients do not work when using dot-walked fields When users change the recipient to be a dot-walked value in the Users field, emails can no longer be sent. An error is thrown in the logs.

Human Resources Service Management


HR tasks event is not functioning properly When an HR task is closed, the HR task event sn_hr_core_task.allClosed is triggered, but does not trigger the notification "HR All Tasks Closed".

Human Resources Service Management


Users cannot edit HR services from Lifecycle Events or Integrations application in HR core scope
  1. Navigate to HR Services.
  2. Open any record (Request LOA or onboarding) and try to edit the record in Human Resources: Core scope.

Expected behavior: Users should be allowed to edit the HR service.

Actual behavior: An error is thrown: "Invalid 'Service table' selected on the HR Service record. The 'HR Total Rewards Case' table is in application 'Human Resources: Core', but the current application is 'Human Resources: Integrations or Life Cycle'".

Human Resources Service Management


Using the 'HRI My Information' widget in a size 3 container does not wrap word properly
  1. Activate Human Resources: Service Portal.
  2. Log in as user Abel Tuter.
  3. Change the email address to something very long, like
  4. Navigate to SP designer and create a page.
  5. Use any container that utilizes size 3.
  6. Place the HRI My Information widget into any of the containers.
  7. Test the page.

Expected behavior: Text should wrap properly.

Actual behavior: Text extends the container border.

Human Resources Service Management


Empty HR tasks are being created in the sn_hr_core_task table every time a survey is created Empty HR tasks are created even if the survey is triggered from the incident table and the survey is unrelated to HR. This issue is caused by a new business rule, installed with the recently enabled HR core plugins.

Human Resources Service Management


When an onboarding case is created from Service Portal, child cases generated are not assigned to anyone
  1. Navigate to the HR portal as HR agent or LE admin.
  2. Create a request onboarding case from the talent management.

The child cases background check and drug screen are not assigned to anyone.

Human Resources Service Management


Performance issue with the onboarding record producer when 1 million user records are loaded

'Manager' variable in onboarding record producer is of lookup select box type. The record producer loads very slowly when the lookup type is used.

Human Resources Service Management


HR Service Portal still displays the 'Chat with HR' header menu item even if Connect Support is disabled
  1. Set "glide.connect.enabled" and "" to false.
  2. Navigate to HR Portal.

    Note that the "Chat with HR Portal" icon is displayed.

  3. Click the icon.

The message "The administrator has restricted access to Connect." is displayed.

Knowledge Management


The ESS knowledge portal has only 20 categories displayed Knowledge article content can be truncated because users cannot resize the content block based on the page that is loaded.

Knowledge Management



Allow all forms of search to return knowledge articles irrespective of language as long as there is a keyword match in that language
  1. Ensure that the following plugins are active:
    • I18N: Internationalization
    • I18N: Brazilian Portuguese Translations
  2. Create an article with the word "SSH" in English.
  3. Create an article with word "SSH" in Brazil.
  4. Search for "SSH" to find articles that relate to SSH.

Note that the search does not return both Brazilian and English articles.

Knowledge Management


Tags are auto-populated when users try to create a question from the knowledge base form
  1. Navigate to knowledge bases.
  2. Click any knowledge base.
  3. Under the question related list, click New.

A new social Q&A question form is created with tags automatically populated.




All forms of search should return knowledge articles regardless of language, as long as there is a keyword match in that language

To use ServiceNow in another language, users activate the I18N: Internationalization plugin in addition to another language plugin, such as the I18N: Brazilian Portuguese Translations plugin.

When these plugins are active, users need the ability to modify knowledge search to:
  • Return articles in all languages.
  • Weight the order of knowledge search articles by the user's profile or session language setting.
To activate the fix for this PRB:
  • Set the glide.knowman. search.default_language property to the desired default language for searching articles.
  • Set the glide.knowman.enable_ multi_language_search property to True to enable search for multiple languages simultaneously.


  • I18N: Internationalization
  • I18N: Brazilian Portuguese Translations

Steps to reproduce

  1. Create an article with the word SSH in English.
  2. Create an article with word SSH in Brazilian.
  3. Search for SSH to find articles that relate to SSH.

The search does not return both Brazilian and English articles.

MID Server



Discovery attempts to use private key strings for password authentication

This issue occurs for users who have a CyberArk SSH Private Key discovery credential. The MID Server sends it to SSH devices which do not support SSH private key authentication, and it is also sent to SSH devices which support private key authentication, even though the key is incorrect for that device. If the device supports password or keyboard-interactive SSH authentication, the MID Server incorrectly attempts to authenticate while using the private key string as the password.

Refer to the listed KB article for details.

MID Server


MID Server CIM threads are cancelled upon Apache HTTP CimIQL shutdown After running many CIM discoveries, CIM threads on the MID Server can get cancelled. Additional CIM discoveries lead to more thread creations and more threads that are cancelled. The MID Server eventually needs to be restarted.



Opening an incident brings an error when the plugin com.snc.notify is activated When com.snc.notify is activated, users see an error message "Illegal access to method getRoles in class com.glide.sys.User" when opening an incident.



The kick action in Notify/Twilio does not log the participant's duration after removing them from the conference call
  1. Create a conference call with more than 2 users.
  2. Use the 'kick' option to remove a participant.

The participant is removed from the conference but the participant's duration on the conference call is not logged.

Performance Analytics


Unable to select a user/role/group if not in the first batch of the result list When sharing a dashboard, users are unable to select a user if they are not in the first 5 results returned.

Performance Statistics and Graphs


jrobin_shard_location needs an index Queries do not use an index when executed, which can add significant load to a database server.

Performance Statistics and Graphs



The ServiceNow Performance dashboard widget is empty After upgrading to Jakarta, the ServiceNow Performance dashboard is not displayed.



MetricBase - Change the retention policy to match SKU requirements set by the pricing committee



Issues related to CMDB tables in a scoped app

Issue 1

  1. Create a scoped application in an instance (pre-Jakarta release).
  2. Create a column on the "cmdb_ci" table.
  3. Download the zip file of the application.
  4. Install the zip file of the application into Jakarta release instance.

The column created on the "cmdb_ci" table is created in all the child tables of cmdb_ci. When users try to uninstall the application, it will not get uninstalled properly.

Issue 2

  1. Create a scoped application in an instance (pre-Jakarta release).
  2. Create a custom table (the child table of the "cmdb_ci" table) in a scoped application.
  3. Download the zip file of the application.
  4. Install the zip file of the application into Jakarta release instance.

The system is creating fields like "Class", "sys_class_path", and "Is Deletable" in a global scope on these tables (fields from the parent table).




CMDB TPP migration during a Jakarta upgrade can fail if the migration takes over 24 hours

On an upgrade to Jakarta, the CMDB table will go through a migration called TPP. This can fail if the migration runs for longer than 24 hours as the database connections are destroyed after being marked as obsolete by the connection pool sweeper.

The upgrade will get stuck on the fix script that is running the TPP migration, z_z_migrate_cmdb_tpp.xml. This can be observed in the upgrade monitor and will require manual interventions or a rollback of the upgrade.

Refer to the listed KB article for details.



Table rotation shard selection by sys_id no longer works on domain-separated instances

Project Management


Configuration support issue for custom teamspaces Users try to create their own teamspaces by using an application integration strategy in which they extend base tables and create custom roles. However, teamspace code assumes that all teamspaces have the 'tspx_prefix' prefix. Users can have any prefix in scoped applications, which breaks the teamspace logic in templates, MSP import, planning consoles, and other areas.




PDF export can cause out of memory within OOB constraints for rows and columns (glide.pdf.max_rows, glide.pdf.max_columns) Exporting a report to PDF can cause an out of memory issue when the PDF has a large number of rows. This is often in combination with large text columns. When this problem occurs, the base system constraints that are handled by the following system properties have not been changed:
  • glide.pdf.max_rows
  • glide.pdf.max_columns

Refer to the listed KB article for details.

Security Incident Response


PIR on Security Incidents is throwing an error
  1. Create an SIR and make some changes to the SIR(category, sub category, or add worknotes).
  2. Close the SIR by adding closer notes.

Note the PIR is not generated for the SIR. A warning message occurs in logs: org.mozilla.javascript.EvaluatorException: GlideRecord.setTableName - empty table name.

Security Incident Response


"RiskScore override is turned off." is being posted on every SIR worknote When an SIR is created and categories are updated on the SIR, "RiskScore override is turned of by user which allows automatic recalculation of risk score." will be posted on every SIR work note.

Service Catalog



clearValue() function is not working in Jakarta clearValue() function is not working in Jakarta when using fields which do not exist in the Catalog Item. An error occurs: Cannot read property options of 'null'.
  1. Navigate to Service Catalog.
  2. Create a variable of any type.
  3. Create a Catalog Client Script with the function: clearValue() and use the variable created earlier.
  4. In the Catalog Client Script, use the same function for another field which does not exist in the Catalog Item.
  5. When data is entered in the variable, try the catalog item.

An error occurs: Cannot read property 'options' of null.

Service Catalog



Some options in the Jakarta Legacy CI Relationship editor seem to be bringing back options from the cmdb_ci table rather than the sys_user table
  1. Navigate to Configuration > datacenter.
  2. Open an existing datacenter record or create a new one.
  3. Click the plus sign to access the Legacy CI Relationship editor.
  4. In the Available Relationships field, select Log reviewed by or Backup done by.

These options should have displayed records from the sys_user table, but they displayed records from the cmdb_ci table.

Service Management Designer


Service Management template does not apply to records produced via the Service Portal

Service Management templates associated to a record producer's model do not seem to be applying to HR cases that are completed via the Service Portal.

Service Mapping


Azure Discovery fails after an upgrade to Jakarta An error occurs: "Exception when calling ID engine: java.lang.NullPointerException".

Service Mapping


Two entry points and two clusters can result in unwanted connections Unwanted connections occur when a business service has two entry points that point to two different clusters which have the same information.

Service Portal


"Service" should not be in the table body
  1. Navigate to <instance>/sp.
  2. Select the System Status link.

Note the section headers are in the table, and the stated row count includes these headers.

Service Portal


TinyMCE copy/paste images in Chrome on Windows/Mac does not work In Service Portal, copying and pasting images into the TinyMCE editor does not work in Chrome.
  1. Create a test page on the Service Portal containing a TinyMCE field.
  2. Use the snipping tool included in Windows 7 and 10 to take a screenshot.
  3. Click the copy button to copy the screenshot to the clipboard.
  4. Open Google Chrome and navigate to the page.
  5. Try to paste the image.

Expected behavior: The image should be pasted.

Actual behavior: TinyMCE field does not display the image or attach the file. All other browsers can paste the image successfully.

Service Portal


Related Lists counts are broken on the form After an upgrade to Jakarta, users cannot see the count of records for Related Lists in the form widget.
  1. Log into any Jakarta instance.
  2. Navigate to Service Portal.
  3. Open any record which has some data in Related Lists (open it in the "Form" page).

Note the count is missing.

Service Portal


html_template and script fields with 4000 character limit truncate OOB data that exceeds that length in Oracle On normal MySQL instances, the scripts work as expected. However, on Oracle, users experience problems from time to time with OOB scripts to be longer than 4000 characters on a 4000 characters field. The scripts are cut in half and do not work.

Service Portal


Restore Jakarta Service Portal default theme The Service Portal default theme should be the same in Istanbul and Jakarta.

Service Portal


A user typing message is no longer displayed in the activity stream
  1. Impersonate two different users in two different browsers.
  2. Navigate to a request on the ticket page or a form with an activity stream.
  3. Start typing as one user.

Note that the ticket conversations widget no longer shows that the user is typing to the other user.

Service Portal


Due to the sp_ng_template script limit in Oracle instances, larger templates code gets truncated In the search results page, the results are showing code snippets for the article meta data.

Service Portal


Pasted images in the HTML editor need to be converted to attachments
  1. Add a new HTML field to a form.
  2. Create a new record using the form.
  3. Paste an image into the HTML field.
  4. Save the record.

A sys_attachment record for the image is not created, which is inconsistent with the normal UI and may result in performance issues.

Survey Management


When a survey question is answered in Japanese, the characters are getting converted to some incorrect values
  1. Assign the survey "Helpdesk Satisfaction Survey" to a user.
  2. Get the survey URL from the assessment created and impersonate that user to take the survey.
  3. Take the survey and enter the text in Japanese on the string field. For example:


  4. Submit the survey and open the completed assessment instance record as an admin user.
  5. Click the related link to user's response.

The text is broken for the question "Tell us what you think about IT and what you want or need."

System Applications



Jakarta only: Reinstalled applications are missing files/records
  1. Install a store app with application files. For example, sys_app_application_<xxx>, sys_app_module_<xxx>, etc.
  2. Uninstall the store app.
  3. Reinstall the app on the instance.

After the app is successfully reinstalled, most of the application files are missing. In the localhost logs, the phrase "Skipping, file unchanged since last upgrade" is printed for all of the missing files.

System Applications


A cross-scope privilege access error occurs in the global search In Jakarta, a new global search UI is showing an error: "Error MessageExecute operation on script include 'PowerGenKnowledge' from scope 'Enhanced Global Search UI' was denied. The application 'Enhanced Global Search UI' must declare a cross-scope privilege access".

System Applications


Ambiguous search yields lots of ambiguous search term alerts The message "Your text query contained on common words or ambiguous wildcards, please refine your search and try again" occurs many times on the homepage when users are performing a global search.

Text Search


New search results page no longer gives the option to enter the list view for 0 result tables

In the old search results screen, it was possible to drill down into a table even if zero results were returned.

In the new search result screen, it is no longer possible to click through to the table.

This is inconvenient for users who then have to navigate to the table manually and re-build the filter.

Time Card Management


Opening the worker portal changes the display value for the existing time card category to task_work and project_work In the Time Cards related list, the value under Time type is displaying incorrectly. It shows the value instead of the label name.

UI Action



Currency code is reverted to '$' when updating a currency field via the client script

After setting the property glide.system.locale to 'en.AU', the currency code for currency fields should be displayed as 'AUD'.

However, the currency code is reverted to '$' when updating a currency field via the client script.

  1. Do one of the following with the currency setting:
    • Log in as a user with a local currency other than USD.
    • Open a record with a value in a currency other than USD.
    • Manually set the field value to a currency other than USD.
  2. Execute a client script that sets the value on a currency field using g_form.setValue(field_name, value).

Note that the currency is changed to USD. The session currency, or the currency that is currently set on the field, should be preserved.

UI Components


The new datetime functions are not in the glide-api-members.xml The new datetime function are not visible in scoped apps and should have been added to the glide-api-members.xml file.

Update Sets


Overwriting a replace_on_upgrade=true record with a custom one using update sets might result in the new customization being overwritten Because the "Recorded At" in the sys_update_xml entry for a file is copied rather than generated at the time an update set is committed, it can be considered older than the prior version on the system when the upgrade engine considers whether the record is flagged for overwriting. If the new customization was recorded before the replace_on_upgrade version, the upgrade engine will overwrite the customization. The upgrade engine should always preserve customizations committed after a replace_on_upgrade record was committed.

Upgrade Engine Issues



After the installation of a store app with/without static content, the upgrade summary job failed After a store app is installed with static content, or without static content (without folders like "ui.html", "ui.jforms", or "ui.jtemplates"), the upgrade summary job fails with an exception thrown in the log.

Vendor Security Risk Assessment (VSRA)


Vendor portal cross scope privilege issue Vendor Risk Management does not have access to the global script including "SysRelatedList".

Vulnerability Response


Qualys lookup code uses an inefficient query when using the new CI/VI lookup code After implementing the Qualys integration for Vulnerability Management, not all data is being imported into ServiceNow.



Workflow is hung at join activity if rollback to activity is used If the workflow has the rollback to activity, join activity is getting hung in different languages.



The approval coordinator has a new activity result == skipped but the default activity condition does not include skipped In Jakarta, the approval coordinator was updated to include the activity.result == skipped. However, by default, this is not added to the activity when it is dragged to the workflow canvas.
  1. Create a workflow on the incident table.
  2. Add 'Approval Coordinator' activity on the workflow canvas.

    Notice there is no 'skipped' condition path.

  3. Add an empty 'group approval' within the coordinator.
  4. Connect the approval coordinator to 'end'.
  5. Create an incident to execute the workflow.

Expected behavior: A result of 'skipped' defaults to 'approved' and moves to the 'approved' path.

Actual behavior: The activity.result == 'skipped', and the workflow cannot move to the next activity.



Generate activity does not generate approvals from the Approval Coordinator activity



Switch activity is not getting conditions in Workflow editor when the session language is other than English If the customer is using a different language other than English, Switch workflow activity may not work correctly.
  1. Activate/install the Hungarian language plugin (I18N: Hungarian Translations).
  2. Open any catalog item (e.g., Apple iPad 3), and add a 'Select box' type variable with at least 2 question choices.
  3. Open the corresponding workflow of catalog item in 'workflow editor'.
  4. Change the session language to Hungarian.
  5. Check out the workflow and add the 'Switch' activity anywhere in the workflow (Alaptevékenységek > Feltételek > Kapcsoló ).
  6. In the Switch activity, select type = 'Variable' and add the recently created 'Select box' variable.
  7. Submit the Switch activity.

    Notice the question choices appear.

  8. Repeat the same steps with the English session.

The Switch activity shows desired conditions.

Other Jakarta Patch 4 information

SC Category Page widget
Catalog items are sorted in ascending order by their Order value. If catalog items have the same order, they are sorted by the Name field.
Knowledge Management
  • Knowledge search

    The multi-language search feature is available when more than one supported language is enabled. When you enable the language plugin and set the system property for multi-language search to True, the search query returns the results in all available languages simultaneously. If you set the system property for multi-language to False, the search query returns the results based on the language selected with this filter option. Refer to Knowledge search properties for more information.

  • Knowledge properties

    Two knowledge search properties are added: and glide.knowman.enable_multi_language_search.

  • I18N - Knowledge internationalization

    Refer to Knowledge search for information on performing a search on all available languages simultaneously.

Fixes included with Jakarta Patch 4

* Unless any exceptions are noted, you can safely upgrade to this release version from any of the versions listed below. These prior versions contain PRB fixes that are also included with this release. Be sure to upgrade to the latest listed patch that includes all of the PRB fixes you are interested in.