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

Dashboard "Status of build" images missing after upgrade to 1.584

      The images for "status of build" are missing/unavailable.

          [JENKINS-25220] Dashboard "Status of build" images missing after upgrade to 1.584

          Sagar Khushalani created issue -

          Daniel Beck added a comment -

          What version are you upgrading from?

          Daniel Beck added a comment - What version are you upgrading from?

          Upgraded from 1.574

          Sagar Khushalani added a comment - Upgraded from 1.574

          I'm seeing the same thing after upgrading from 1.551. I've got another instance running 1.574.

          In the 1.574 html, the img element reads:

          <img alt="Failed" class="icon16x16" src="/static/9380e5f1/images/16x16/red.png" tooltip="Failed" title="Failed">

          In the 1.585 html, the img element reads:

          <img alt="Failed" class="icon-red " tooltip="Failed" title="Failed">

          Michael Merrell added a comment - I'm seeing the same thing after upgrading from 1.551. I've got another instance running 1.574. In the 1.574 html, the img element reads: <img alt="Failed" class="icon16x16" src="/static/9380e5f1/images/16x16/red.png" tooltip="Failed" title="Failed"> In the 1.585 html, the img element reads: <img alt="Failed" class="icon-red " tooltip="Failed" title="Failed">
          Michael Merrell made changes -
          Environment Original: CentOS 6.3 server, enkins 1.584 New: CentOS 6.3 server, enkins 1.584
          Windows Server 2008 R2 (x86), Jenkins 1.585

          I think the class should be "icon-red icon-sm" in order for it to look in the images/16x16 directory for red.png.

          Michael Merrell added a comment - I think the class should be "icon-red icon-sm" in order for it to look in the images/16x16 directory for red.png.

          There was a change to core/src/main/resources/lib/hudson/ballColorTd.jelly that replaced iconSize with iconSizeClass:

          • <img src="${it.getImageOf(iconSize)}" alt="${it.description}"
          • tooltip="${it.description}" style="${attrs.style}" class="icon${iconSize}"/>
            + <l:icon class="${it.iconClassName} ${iconSizeClass}" alt="${it.description}"
            + tooltip="${it.description}" style="${attrs.style}" />

          In cases where iconSize is being set by a jelly attribute, iconSize is converted to iconSizeClass:

          <!-- convert legacy @iconSize specification to @iconSizeClass -->
          <j:if test="${iconSizeClass==null and attrs.iconSize!=null}">
          <j:set var="iconSizeClass" value="${icons.toNormalizedIconSizeClass(attrs.iconSize)}"/>
          </j:if>

          However, it looks like the iconSize is set as a variable in the build statistics jelly file.

          dashboard-view-plugin/src/main/resources/hudson/plugins/view/dashboard/stats/StatBuilds/statbuilds.jelly:

          <j:set var="iconSize" value="16x16" />
          ...
          <t:ballColorTd it="${col.key}" />

          So, either the plugin needs to be updated to use iconSizeClass or pass the iconSize as an attribute; or ballColorTd.jelly needs to convert iconSize as well as attrs.iconSize. Or both.

          Michael Merrell added a comment - There was a change to core/src/main/resources/lib/hudson/ballColorTd.jelly that replaced iconSize with iconSizeClass: <img src="${it.getImageOf(iconSize)}" alt="${it.description}" tooltip="${it.description}" style="${attrs.style}" class="icon${iconSize}"/> + <l:icon class="${it.iconClassName} ${iconSizeClass}" alt="${it.description}" + tooltip="${it.description}" style="${attrs.style}" /> In cases where iconSize is being set by a jelly attribute, iconSize is converted to iconSizeClass: <!-- convert legacy @iconSize specification to @iconSizeClass --> <j:if test="${iconSizeClass==null and attrs.iconSize!=null}"> <j:set var="iconSizeClass" value="${icons.toNormalizedIconSizeClass(attrs.iconSize)}"/> </j:if> However, it looks like the iconSize is set as a variable in the build statistics jelly file. dashboard-view-plugin/src/main/resources/hudson/plugins/view/dashboard/stats/StatBuilds/statbuilds.jelly: <j:set var="iconSize" value="16x16" /> ... <t:ballColorTd it="${col.key}" /> So, either the plugin needs to be updated to use iconSizeClass or pass the iconSize as an attribute; or ballColorTd.jelly needs to convert iconSize as well as attrs.iconSize. Or both.

          Michael Merrell added a comment - Pull request https://github.com/jenkinsci/jenkins/pull/1452

          Closed that pull request and opened another with a smaller change. https://github.com/jenkinsci/jenkins/pull/1455

          Michael Merrell added a comment - Closed that pull request and opened another with a smaller change. https://github.com/jenkinsci/jenkins/pull/1455

          Ryan Gibbons added a comment -

          What's the status of this, we've had the same issue for a while. I know it's not a high priority but would make things nicer to look at.

          Ryan Gibbons added a comment - What's the status of this, we've had the same issue for a while. I know it's not a high priority but would make things nicer to look at.

            petehayes Peter Hayes
            skhushalani Sagar Khushalani
            Votes:
            4 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: