• Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major Major
    • blueocean-plugin
    • None
    • Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4

      The api to load steps is paginated. Currently only the first page is loaded. 

      When a user clicks on a node, it should load and display the steps using this pagination (ie keep loading and appending until there are no more). 

       

      This should be able to generate loads of steps I think: 

       

      Using the following pipelineScript and https://github.com/scherler/blueocean-shared-library/commit/43d5620a42d7795b43bc829d694c3cae2a3c3919

      @Library('test-writer') import writeTest
      import longLog
      node {
          stage 'fin'
          def xml = writeTest()
          sh "echo '$xml' > TEST-some.xml"
          step([$class: 'JUnitResultArchiver', testResults: 'TEST-*.xml'])
          sh 'echo `date` fin;sleep 3; echo `date` fin;'
          sh 'echo yeah > foo.txt'
          archiveArtifacts 'foo.txt'
          longLog(10000, false)
          stage 'NoSteps'
      }

          [JENKINS-42781] Load more than 100 steps in a node

          Bimlendu Mishra added a comment - - edited

          Is this something still looked into?

          I see the nodes api being called with a limit parameter of 10000, the steps api
          does not have such parameter, and it maxes out at 100.

          {code:java}
          pipeline {
            agent {
              label any
            }

            stages {
              stage('200 Steps'){
                steps {
                  script {
                    def range = 1..200
                    range.each { n ->
                    println n
                  }
                }
              }
            }
          }
          }
          {code}

          Call for nodes API: http://localhost:8080/blue/rest/organizations/jenkins/pipelines/test100Limit/runs/4/nodes/?limit=10000

          Call for steps API: http://localhost:8080/blue/rest/organizations/jenkins/pipelines/test100Limit/runs/4/nodes/6/steps/

          Is there a way I can send the limits parameter to the steps API too. Or, I need to change here: https://github.com/jenkinsci/blueocean-plugin/blob/master/blueocean-dashboard/src/main/js/components/karaoke/services/Augmenter.js#L83

          Also is there a reason why this limit is not being passed to steps/ endpoint ?

           

          Bimlendu Mishra added a comment - - edited Is this something still looked into? I see the nodes api being called with a limit parameter of 10000, the steps api does not have such parameter, and it maxes out at 100. {code:java} pipeline {   agent {     label any   }   stages {     stage('200 Steps'){       steps {         script {           def range = 1..200           range.each { n ->           println n         }       }     }   } } } {code} Call for nodes API: http://localhost:8080/blue/rest/organizations/jenkins/pipelines/test100Limit/runs/4/nodes/?limit=10000 Call for steps API: http://localhost:8080/blue/rest/organizations/jenkins/pipelines/test100Limit/runs/4/nodes/6/steps/ Is there a way I can send the limits parameter to the steps API too. Or, I need to change here: https://github.com/jenkinsci/blueocean-plugin/blob/master/blueocean-dashboard/src/main/js/components/karaoke/services/Augmenter.js#L83 Also is there a reason why this limit is not being passed to steps/ endpoint ?  

          Is there any update on this?

          Abram Hemphill added a comment - Is there any update on this?

            Unassigned Unassigned
            michaelneale Michael Neale
            Votes:
            14 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated: