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

Error Signal Description not displayed in Blue Ocean

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • blueocean-plugin
    • None

      When running Declarative Pipeline in below particular case error signal does not display any descriptions. The only place to find it (and its there properly expanded) is the end of console output.

      stage ('Pipeline-PR') {
          when {
              changeRequest()
              expression { env.CHANGE_TARGET == 'master' || env.CHANGE_TARGET == 'develop' }
          }
          steps {
              script {
                  def version = bat(script: "@set library.componentPipeline.version", returnStdout: true).split("=",2).last().trim()
                  if (version != 'master') {
                      error "Pull request targeting ${env.CHANGE_TARGET} cannot be based on ${version} branch of component pipeline, should be based on master!"
                  }
              }
          }
      }

      shows only as:

          [JENKINS-52923] Error Signal Description not displayed in Blue Ocean

          Jakub Pawlinski created issue -
          Jakub Pawlinski made changes -
          Epic Link New: JENKINS-43953 [ 181485 ]
          Jakub Pawlinski made changes -
          Summary Original: CLONE - Error Signal Description not expandible in Blue Ocean when using Declarative Pipeline and Environment Variables New: Error Signal Description not displayed in Blue Ocean
          Jakub Pawlinski made changes -
          Environment Original: Jenkins
          =======

          Version details
          ---------------

            * Version: `2.60.1`
            * Mode: WAR
            * Url: http://127.0.0.1:8080
            * Servlet container
                - Specification: 3.1
                - Name: `jetty/9.2.z-SNAPSHOT`
            * Java
                - Home: `/usr/lib/jvm/java-8-oracle/jre`
                - Vendor: Oracle Corporation
                - Version: 1.8.0_131
                - Maximum memory: 1.52 GB (1629487104)
                - Allocated memory: 797.50 MB (836239360)
                - Free memory: 269.19 MB (282262896)
                - In-use memory: 528.31 MB (553976464)
                - GC strategy: ParallelGC

          Relevant plugins:

          blueocean:1.1.6:not-pinned
          blueocean-autofavorite:1.0.0:not-pinned
          blueocean-commons:1.1.6:not-pinned
          blueocean-config:1.1.6:not-pinned
          blueocean-dashboard:1.1.6:not-pinned
          blueocean-display-url:2.0:not-pinned
          blueocean-events:1.1.6:not-pinned
          blueocean-git-pipeline:1.1.6:not-pinned
          blueocean-github-pipeline:1.1.6:not-pinned
          blueocean-i18n:1.1.6:not-pinned
          blueocean-jwt:1.1.6:not-pinned
          blueocean-personalization:1.1.6:not-pinned
          blueocean-pipeline-api-impl:1.1.6:not-pinned
          blueocean-pipeline-editor:0.2.0:not-pinned
          blueocean-pipeline-scm-api:1.1.6:not-pinned
          blueocean-rest:1.1.6:not-pinned
          blueocean-rest-impl:1.1.6:not-pinned
          blueocean-web:1.1.6:not-pinned

          pipeline-build-step:2.5:not-pinned
          pipeline-classpath:0.1.0:not-pinned
          pipeline-github-lib:1.0:not-pinned
          pipeline-graph-analysis:1.4:not-pinned
          pipeline-input-step:2.8:not-pinned
          pipeline-maven:2.5.0:not-pinned
          pipeline-milestone-step:1.3.1:not-pinned
          pipeline-model-api:1.1.6:not-pinned
          pipeline-model-declarative-agent:1.1.1:not-pinned
          pipeline-model-definition:1.1.6:not-pinned
          pipeline-model-extensions:1.1.6:not-pinned
          pipeline-rest-api:2.8:not-pinned
          pipeline-stage-step:2.2:not-pinned
          pipeline-stage-tags-metadata:1.1.6:not-pinned
          pipeline-stage-view:2.8:not-pinned
          pipeline-utility-steps:1.3.0:not-pinned

          workflow-aggregator:2.5:not-pinned
          workflow-api:2.17:not-pinned
          workflow-basic-steps:2.5:not-pinned
          workflow-cps:2.36:not-pinned
          workflow-cps-checkpoint:2.4:not-pinned
          workflow-cps-global-lib:2.8:not-pinned
          workflow-durable-task-step:2.12:not-pinned
          workflow-job:2.12.1:not-pinned
          workflow-multibranch:2.16:not-pinned
          workflow-scm-step:2.6:not-pinned
          workflow-step-api:2.11:not-pinned
          workflow-support:2.14:not-pinned
          Jakub Pawlinski made changes -
          Priority Original: Critical [ 2 ] New: Major [ 3 ]
          Jakub Pawlinski made changes -
          Attachment New: image-2018-08-07-18-17-28-500.png [ 43639 ]
          Jakub Pawlinski made changes -
          Attachment New: image-2018-08-07-18-17-35-341.png [ 43640 ]
          Jakub Pawlinski made changes -
          Description Original: When defining a Declarative Pipeline which declares an {{environment}} directive error signal descriptions are not expandible in Blue Ocean view.

          declarative-pipeline-error-signal-example-with-env-var:
          {code:java}
          pipeline {
          agent none
          environment {
          EXAMPLE_VARIABLE = 'This is an example variable'
          }
          stages {
          stage('Error Example') {
          steps {
          error "This is an error example using declarative pipeline"
          }
          }
          }
          }
          {code}
          Note that when looking at Blue Ocean output that the error description is not expandible:

          !declarative-pipeline-error-signal-example-with-env-var.png!

          The issue is not reproduced when using Scripted Pipeline.

          scripted-pipeline-with-env-var:
          {code:java}
          node {
              withEnv(['EXAMPLE_VARIABLE="this is an example variable"']) {
                  stage('Error Example') {
                      error "This is an example error message using scripted pipeline"
                  }
              }
          }
          {code}
          Error is expandible in Blue Ocean:

          !scripted-pipeline-with-env-var.png!

           

          Looking at the console logs in the Declarative Pipeline example.

          declarative-pipeline-error-signal-example-with-env-var.log:

          {quote}
          blueocean.js:18586 Browser configuration of @jenkins-cd/logging is explained at https://tfennelly.github.io/jenkins-js-logging/index.html#browser-config
          jenkins-js-extension.js:47602 [Violation] Added non-passive event listener to a scroll-blocking 'wheel' event. Consider marking event handler as 'passive' to make the page more responsive.
          blueocean.js:2752 Uncaught TypeError: Cannot read property 'indexOf' of undefined
           at trimRestUrl (blueocean.js:2752)
           at getPrefetchedDataFuture (blueocean.js:2762)
           at request (blueocean.js:2629)
           at DeDupeCallTracker.dedupe (blueocean.js:7920)
           at dedupe (blueocean.js:7943)
           at Object.rawFetch (blueocean.js:2659)
           at Object.fetch (blueocean.js:2737)
           at jenkins-js-extension.js:50210
           at invokeFunc (jenkins-js-extension.js:7887)
           at trailingEdge (jenkins-js-extension.js:7934)
          trimRestUrl @ blueocean.js:2752
          getPrefetchedDataFuture @ blueocean.js:2762
          request @ blueocean.js:2629
          dedupe @ blueocean.js:7920
          dedupe @ blueocean.js:7943
          rawFetch @ blueocean.js:2659
          fetch @ blueocean.js:2737
          (anonymous) @ jenkins-js-extension.js:50210
          invokeFunc @ jenkins-js-extension.js:7887
          trailingEdge @ jenkins-js-extension.js:7934
          timerExpired @ jenkins-js-extension.js:7922
          blueocean.js:18807 [ERROR - io.jenkins.blueocean.dashboard.karaoke.Pager.Step] Error fetching page - fetch log TypeError: Cannot read property 'newStart' of undefined
           at jenkins-js-extension.js:51074
           at <anonymous>
          error @ blueocean.js:18807
          (anonymous) @ jenkins-js-extension.js:51100
          {quote}
          New: When running Declarative Pipeline in below particular case error signal does not display any descriptions. The only place to find it (and its there properly expanded) is the end of console output.
          {code:java}
          stage ('Pipeline-PR') {
              when {
                  changeRequest()
                  expression { env.CHANGE_TARGET == 'master' || env.CHANGE_TARGET == 'develop' }
              }
              steps {
                  script {
                      def version = bat(script: "@set library.componentPipeline.version", returnStdout: true).split("=",2).last().trim()
                      if (version != 'master') {
                          error "Pull request targeting ${env.CHANGE_TARGET} cannot be based on ${version} branch of component pipeline, should be based on master!"
                      }
                  }
              }
          }{code}
          shows only as:

          !image-2018-08-07-18-17-35-341.png!
          Jakub Pawlinski made changes -
          Attachment Original: image-2018-08-07-18-17-35-341.png [ 43640 ]
          Jakub Pawlinski made changes -
          Attachment Original: image-2018-08-07-18-17-28-500.png [ 43639 ]
          Jakub Pawlinski made changes -
          Attachment New: image-2018-08-07-18-17-57-087.png [ 43641 ]

            Unassigned Unassigned
            quas Jakub Pawlinski
            Votes:
            6 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: