Make existing components such as services that are supplied by plugins visible in administration section even if the plugin is missing

XMLWordPrintable

      NOTE: This suggestion is for JIRA Server. Using JIRA Cloud? See the corresponding suggestion.

      When a plugin adds a custom-field, or service, or some other configurable element to JIRA – these elements are seen in the administration panel and can be deleted. Later when upgrading it might be that this particular plugin is not needed anymore, and thus it is discarded.

      One such example is the Perforce plugin and the new Beta Fisheye-Perforce, the old Perforce plugin is not really needed anymore and the two plugins are not compatible so the old one is not included in the installed war.

      Thing is – the custom fields, and services of that plugin are still in the database – there is currently no way other than to dig into the database directy to remove these fields and services. And when running JIRA it is causing (non critical) errors that get logged.

      Example of logged errors for custom fields:

      ERROR [jira.issue.managers.DefaultCustomFieldManager] Could not find any custom field value
      with key 'com.atlassian.jira.plugin.ext.perforce:hiddenjobswitch'.
      ERROR [jira.issue.managers.DefaultCustomFieldManager] Could not find any custom field value
      with key 'com.atlassian.jira.plugin.ext.perforce:jobcheckbox'.
      

      Example for services:

      ERROR [atlassian.jira.service.OfBizServiceConfigStore] Unable to create a service config for
      service with name: Perforce Changes Indexing Service
      com.atlassian.jira.service.ServiceException: Could not find
      class: com.atlassian.jira.plugin.ext.perforce.changelists.ChangesIndexService
              at com.atlassian.jira.service.ServiceFactory.getService(ServiceFactory.java:36)
              . . .
      Caused by: java.lang.ClassNotFoundException: com.atlassian.jira.plugin.ext.perforce.changelists.ChangesIndexService
              at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
              . . .
      

      Would it not be better to have these "defunct" elements seen as "broken" in the administration panel and safely removed from there, without tampering with the database?

              Assignee:
              Unassigned
              Reporter:
              Evgeny Zislis
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: