Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This article explains how to fix the Integrity Check violation for reference to missing custom fields from the Database.

Problem

Deployment fails with an error “Unable to perform deployment: Unable to apply change 'type: removal, object: JiraCustomField#DMP 11. What metadata standard will be used?_com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons, target object: JiraConfigurationRoot#root, feature: customFields'

Example code error

Code Block
java.util.concurrent.ExecutionException: com.botronsoft.jira.rollout.snapshot.SnapshotOperationFailedException: Unable to perform deployment: Unable to apply change 'type: removal, object: JiraCustomField

This issue happens when restoring a configuration at the time of deployment from the source Jira to the target Jira, including the deletion of some custom fields that are still in the target environment but shouldn't be (as they have been deleted in production).


When doing the restore configuration action, Configuration Manager is unable to finish the deployment because errors occur when a custom field is deleted.
Instructions

Solution

  1. Perform a cache refresh from CMJ's advanced page.

  2. Execute the following DB query when replacing %MISSING_CUSTOM_FIELD_ID with the missing CustomFied ID from the Integrity check for Jira

    Code Block
    SELECT * FROM AO_54307E_VIEWPORTFIELD as field inner join AO_54307E_VIEWPORTFORM as form ON field.form_id = form.id where field_id = '%MISSING_CUSTOM_FIELD_ID'
  3. With the above-mentioned DB query, you can have a better view of the request types that have reference to the missing custom fields if there are any. 

    After that, these references must be deleted from the AO_54307E_VIEWPORTFIELD table using their table id.

    Image Added
  4. Perform a Database backup before performing an UPDATE or DELETE query.

  5. Running the below query, by replacing the placeholder with the database id of the custom field, will delete the reference.

    Code Block
    DELETE FROM AO_54307E_VIEWPORTFIELD where ID =%
  6. After the Database manipulation cache refresh from CMJ's advanced page must be triggered. 

  7. After that, run an integrity check for Jira again.

Info

As a general precaution, before any direct database update, it is recommended to take a database backup. After the update, run a cache refresh for the changes to take effect (this can be done from CMJ's Advanced page)