Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-58308

Warn users if plugins require higher version of Jenkins

    • GSoC 2019. Coding Phase 2, GSoC 2019. Coding Phase 3

      It would be nice to warn users if any of the plugins they requested require a higher version of Jenkins before Jenkins starts. See below for an example.

      https://github.com/jenkinsci/docker/issues/735

          [JENKINS-58308] Warn users if plugins require higher version of Jenkins

          Natasha Stopa added a comment -

          A couple of questions: 

          1) If a war file is entered and the plugin version is listed as "latest", should the tool always download the latest plugin version that is compatible with that jenkins version? Or should the tool download the latest version based off of the current update center or jenkins specific version update center and just warn the user if the plugin that was downloaded is incompatible with that version of Jenkins?

          2) If the latest plugin that can be used with a specific Jenkins version can be determined from https://updates.jenkins.io/current/plugin-versions.json, would we ever need to download a plugin from a version specific jenkins update center?  

          kwhetstone timja 

          Natasha Stopa added a comment - A couple of questions:  1) If a war file is entered and the plugin version is listed as "latest", should the tool always download the latest plugin version that is compatible with that jenkins version? Or should the tool download the latest version based off of the current update center or jenkins specific version update center and just warn the user if the plugin that was downloaded is incompatible with that version of Jenkins? 2) If the latest plugin that can be used with a specific Jenkins version can be determined from https://updates.jenkins.io/current/plugin-versions.json,  would we ever need to download a plugin from a version specific jenkins update center?   kwhetstone timja  

          1) Go with the most recent, and warn if the plugin is incompatible. If someone requires an older version, then they'll have to request it.
          2) No, I don't think so? Especially if paired with the requirement from #1

          Kristin Whetstone added a comment - 1) Go with the most recent, and warn if the plugin is incompatible. If someone requires an older version, then they'll have to request it. 2) No, I don't think so? Especially if paired with the requirement from #1

          Natasha Stopa added a comment -

          Fixed in PR: https://github.com/jenkinsci/plugin-installation-manager-tool/pull/65

          This checks if the Jenkins version is older than what's required by the plugin meta data or Manifest. Something to note is that the requiredCore is documented in the metadata found in the update center, but this field does not exist in the plugin manifest. The plugin manifest has a "Jenkins-Version" attribute but from what I could see it looked like this did not always hold the same value as the requiredCore, and seemed to typically have a value much lower than the requiredCore value. 

          Something else to note is that this does only checks the lower bounds of a plugin's compatibility with a Jenkins version, not the upper bounds. 

          https://github.com/jenkinsci/bom looks to try to solve the issue with documenting upper bound requirements and can perhaps be incorporated into the tool in the future. 

          Natasha Stopa added a comment - Fixed in PR:  https://github.com/jenkinsci/plugin-installation-manager-tool/pull/65 This checks if the Jenkins version is older than what's required by the plugin meta data or Manifest. Something to note is that the requiredCore is documented in the metadata found in the update center, but this field does not exist in the plugin manifest. The plugin manifest has a "Jenkins-Version" attribute but from what I could see it looked like this did not always hold the same value as the requiredCore, and seemed to typically have a value much lower than the requiredCore value.  Something else to note is that this does only checks the lower bounds of a plugin's compatibility with a Jenkins version, not the upper bounds.  https://github.com/jenkinsci/bom  looks to try to solve the issue with documenting upper bound requirements and can perhaps be incorporated into the tool in the future. 

            stopalopa Natasha Stopa
            stopalopa Natasha Stopa
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: