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

dimensionsscm-plugin config forms broken in Jenkins 2.264+

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • dimensionsscm-plugin
    • Jenkins 2.277.1, attached list of installed plugins and versions, Windows 10, same issue happens on IE, Edge, Chrome, Firefox
    • 0.8.19

      I upgraded Jenkins to the newest version, 2.277.1. I also upgraded our Dimensions CM server client to 14.5.2. After the upgrade Jenkins is not functioning properly. Existing configurations are still working, but I can not make any new changes. The Apply/Save buttons do not work on any jobs/projects. I can't create a new project. I can't make/save changes in Configure System. Within Configure System and inside individual job Configure page, I noticed the dimensions section is now booted far to the left on the configure pages. The top tabs for each sections no longer appear anymore either. I attached screenshots of how the configuration pages are looking.

       

      I went removed Dimensions plugin, restarted jenkins and all the configuration pages went back to normal and worked as expected. The Save/Apply buttons both worked again. I reinstalled Dimensions and it went back to not working again. I tried installing the previous version of the dimensions plugin I had before that worked and now that is still causing the same issues.

       

      This is in my production environment and any issues coming up, any changes needing to be made and any new projects to create, I cannot do and has our development team very locked down and affecting 100s of applications.

          [JENKINS-65266] dimensionsscm-plugin config forms broken in Jenkins 2.264+

          Sara Brumm created issue -
          Sara Brumm made changes -
          Rank New: Ranked higher
          Basil Crow made changes -
          Labels Original: dimensionsscm New: tables-to-divs-regression

          Basil Crow added a comment -

          This plugin needs to be updated for the Table to div layout migration. Until a PR to adapt this plugin is proposed, merged, and released, this plugin will remain incompatible with Jenkins 2.264 or later, including Jenkins 2.277.1 LTS and later LTS releases. The only short-term option would be to uninstall the plugin or revert back to a previous Jenkins core release without the tables to divs change.

          CC dconneely

          Basil Crow added a comment - This plugin needs to be updated for the Table to div layout migration . Until a PR to adapt this plugin is proposed, merged, and released, this plugin will remain incompatible with Jenkins 2.264 or later, including Jenkins 2.277.1 LTS and later LTS releases. The only short-term option would be to uninstall the plugin or revert back to a previous Jenkins core release without the tables to divs change. CC dconneely

          David Conneely added a comment - - edited

          Basil just beat me to it. With Jenkins versions 2.263 and 2.262 and earlier, everything is fine. With Jenkins versions 2.264 and 2.265 and later, the UI is broken.  https://issues.jenkins.io/browse/JENKINS-56109 is the change that caused it, and https://issues.jenkins.io/browse/JENKINS-64184 is a reported issue that duplicates this.

          Unfortunately I don't know the exact ins-and-outs of the tables-to-divs UI changes that the Jenkins core team have made.

          If it helps anyone who knows more than me: change the `<scope>` of the com.serena.dimensions:dmclient dependency to `compile` in pom.xml to be able to see the configuration forms work correctly with `mvn clean hpi:run -Djenkins.version=2.263` and incorrectly with `mvn clean hpi:run -Djenkins.version=2.264`.

          I'll also do some research into what element in the Jelly causes the form corruption.

          One workaround in the meantime is to downgrade to Jenkins version 2.263 or earlier.

          David Conneely added a comment - - edited Basil just beat me to it. With Jenkins versions 2.263 and 2.262 and earlier, everything is fine. With Jenkins versions 2.264 and 2.265 and later, the UI is broken.  https://issues.jenkins.io/browse/JENKINS-56109  is the change that caused it, and https://issues.jenkins.io/browse/JENKINS-64184  is a reported issue that duplicates this. Unfortunately I don't know the exact ins-and-outs of the tables-to-divs UI changes that the Jenkins core team have made. If it helps anyone who knows more than me: change the ` <scope> ` of the com.serena.dimensions:dmclient dependency to ` compile ` in pom.xml  to be able to see the configuration forms work correctly with ` mvn clean hpi:run -Djenkins.version=2.263 ` and incorrectly with ` mvn clean hpi:run -Djenkins.version=2.264 `. I'll also do some research into what element in the Jelly causes the form corruption. One workaround in the meantime is to downgrade to Jenkins version 2.263 or earlier.
          David Conneely made changes -
          Link New: This issue is caused by JENKINS-56109 [ JENKINS-56109 ]
          David Conneely made changes -
          Summary Original: Dimensions (dimensionsscm) plugin causes apply/save buttons to not work New: dimensionsscm-plugin config forms broken in Jenkins 2.264+

          Basil Crow added a comment -

          dconneely First of all, great to see that this plugin has an active maintainer! I'm not a member of the Jenkins core team but I can refer you to the instructions in this table-to-div migration documentation for updating your plugin for tables-to-divs. There are also many PRs from plugin conversions that have already been done which can be used as an example; those are linked on the same page. I have not been following this migration too closely; if you have any further questions on the ins-and-outs maybe timja or others from the UX sig on Gitter can help.

          Basil Crow added a comment - dconneely First of all, great to see that this plugin has an active maintainer! I'm not a member of the Jenkins core team but I can refer you to the instructions in this table-to-div migration documentation for updating your plugin for tables-to-divs. There are also many PRs from plugin conversions that have already been done which can be used as an example; those are linked on the same page. I have not been following this migration too closely; if you have any further questions on the ins-and-outs maybe timja or others from the UX sig on Gitter can help.

          David Conneely added a comment - - edited

          Some links found after quick research this morning - probably for my own use, but recording them here in case useful to anyone else:

          David Conneely added a comment - - edited Some links found after quick research this morning - probably for my own use, but recording them here in case useful to anyone else: https://www.jenkins.io/doc/developer/views/table-to-div-migration/  - page about migration to div-based config form layout. From this and examination of the dimensiosnsscm-plugin Jelly files looks like table elements are the issue. https://github.com/jfrog/jenkins-artifactory-plugin/pull/266/files  - how a similar issue was solved in the Jenkins Artifactory plugin (uses Jelly XML, so more similar). https://github.com/jenkinsci/matrix-auth-plugin/pull/83/files  - how the same issue was solved in matrix-auth-plugin (uses Jelly Groovy, so not going to be hugely helpful - although it's clear the fix is the same - use a div instead of a table if a certain variable's set) https://issues.jenkins.io/secure/Dashboard.jspa?selectPageId=20741  - Dashboard for table-to-divs issues, but page often shows no content except for title and footer for me. After several retries, it currently is showing about 30 other defects (in multiple plugins) which have been assigned the tables-to-divs-regression label.

          Sara Brumm added a comment -

          Thank you both for the help. I was worried because I forgot to add I did copy over all the jar files that I may have only gotten responses back on that. Good to know this is a known issue and it wasn't something I did wrong (other than I shouldn't have upgraded yet). I'll go ahead and try the workaround and downgrade and hope to get this back up and running in the meantime, this is our production environment and I need this fixed ASAP. Is it worth trying to do the table-to-divs migration or should I just wait until the plugin is updated and compatible with the newer versions of Jenkins? After I get my production Jenkins back working, I'll go back to DEV and can mess around with this if you think its worth the time? Thanks again! 

          Sara Brumm added a comment - Thank you both for the help. I was worried because I forgot to add I did copy over all the jar files that I may have only gotten responses back on that. Good to know this is a known issue and it wasn't something I did wrong (other than I shouldn't have upgraded yet). I'll go ahead and try the workaround and downgrade and hope to get this back up and running in the meantime, this is our production environment and I need this fixed ASAP. Is it worth trying to do the table-to-divs migration or should I just wait until the plugin is updated and compatible with the newer versions of Jenkins? After I get my production Jenkins back working, I'll go back to DEV and can mess around with this if you think its worth the time? Thanks again! 

            Unassigned Unassigned
            brumms Sara Brumm
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: