Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-19894

Opening Plugin Repository gives Error while loading plugins: TypeError: version.compatibility is null.

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Low Low
    • None
    • 3.2.1
    • None

      Confluence loads the xml file from plugins.atlassian.com

      eg: (this is just an example)
      https://plugins.atlassian.com/server/legacy/confluence/xml/1724?&profile=confluence&decorator=none&buildNumber=1724&repoClientVer=2.1.6&os=x86&javaVer=1.6.0_10&javaVendor=Sun+Microsystems+Inc

      For the "JavaMelody Monitoring Plugin Product compatibility " We
      notice the xml returned does not contain the 'compatibility' nodes:

      eg

      https://plugins.atlassian.com/plugin/matrix/20909

      </com.atlassian.plugin.repository.model.RepositoryPlugin-Version>
      -
      <com.atlassian.plugin.repository.model.RepositoryPlugin-Version>
      <version>1.1</version>
      <build>1100</build>
      <releaseDate>2009-12-08 00:00:00.0 CST</releaseDate>
      <state>stable</state>
      -
      <compatibility>
      <startBuild>1722</startBuild>
      <endBuild>1725</endBuild>
      -
      <workingBuilds class="linked-list">
      <int>1722</int>
      </workingBuilds>
      <brokenBuilds class="linked-list"/>
      </compatibility>
      

      Could you please confirm that the compatibility nodes are being
      returned for this plugin in production?

      Thank you!

      The code in question is repository.js:686

      // Return the broken status of a version
      RepositoryPluginsTab.Plugin.prototype.isVersionBroken = function (version) {
          // Find the build number for this
          var productBuild = RepositoryUI.getConfigSetting("productBuildNumber");
          // Check extremities
          if (version.compatibility.startBuild &&
      version.compatibility.startBuild > productBuild) return true;
          if (version.compatibility.endBuild &&
      version.compatibility.endBuild < productBuild) return true;
          // Check I am in the working list
          for (var i=0; i<version.compatibility.brokenBuilds.length; i++) {
              if (Number(version.compatibility.brokenBuilds[i]) ==
      productBuild) return true;
          }
          return false;
      };
      

      the compatibility is assumed to exist (should the code be a bit more
      defensive and do some prechecks?)

      See screenshot of the version.compatibility = null error + the debug output.

      Hope this helps.

      Regards

      Vincent Choy.

            [CONFSERVER-19894] Opening Plugin Repository gives Error while loading plugins: TypeError: version.compatibility is null.

            Resolving it as a duplicate of CONF-19873

            Gurleen Anand [Atlassian] added a comment - Resolving it as a duplicate of CONF-19873

            Vincent Choy (Inactive) added a comment - Raised support issues: https://support.atlassian.com/browse/CSP-47378 https://support.atlassian.com/browse/CSP-47373 http://jira.atlassian.com/browse/CONF-19894

            The work around:

            When the error: version.compatibility is null shows up.
            Just hit enter.

            Then click "Available Plugins" tab (even though it is highlighted).

            Hope this helps.

            Regards

            Vincent Choy.

            Vincent Choy (Inactive) added a comment - The work around: When the error: version.compatibility is null shows up. Just hit enter. Then click "Available Plugins" tab (even though it is highlighted). Hope this helps. Regards Vincent Choy.

              Unassigned Unassigned
              vchoy Vincent Choy (Inactive)
              Affected customers:
              0 This affects my team
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: