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

Load more than 100 steps in a node

    Details

    • Sprint:
      Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4
    • Similar Issues:

      Description

      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'
      }

        Attachments

          Issue Links

            Activity

            michaelneale Michael Neale created issue -
            michaelneale Michael Neale made changes -
            Field Original Value New Value
            Epic Link JENKINS-35750 [ 171713 ]
            michaelneale Michael Neale made changes -
            Description 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). 
            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]
            {code:java}
            @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)
                stage 'NoSteps'
            }{code}
            michaelneale Michael Neale made changes -
            Link This issue relates to JENKINS-41897 [ JENKINS-41897 ]
            tscherler Thorsten Scherler made changes -
            Description 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]
            {code:java}
            @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)
                stage 'NoSteps'
            }{code}
            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]
            {code:java}
            @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'
            }{code}
            mmoreno Matias Moreno made changes -
            Rank Ranked higher
            mmoreno Matias Moreno made changes -
            Epic Link JENKINS-35750 [ 171713 ] JENKINS-32387 [ 167497 ]
            jamesdumay James Dumay made changes -
            Link This issue relates to JENKINS-39770 [ JENKINS-39770 ]
            danielbeck Daniel Beck made changes -
            Epic Link JENKINS-32387 [ 167497 ] JENKINS-35750 [ 171713 ]
            jamesdumay James Dumay made changes -
            Sprint Blue Ocean 1.0-rc3 [ 261 ] Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4 [ 261, 281 ]
            jamesdumay James Dumay made changes -
            Sprint Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4 [ 261, 281 ] Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4, Blue Ocean - techdebt sprint 1 [ 261, 281, 291 ]
            michaelneale Michael Neale made changes -
            Sprint Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4, Blue Ocean - techdebt sprint 1 [ 261, 281, 291 ] Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4 [ 261, 281 ]
            michaelneale Michael Neale made changes -
            Sprint Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4 [ 261, 281 ] Blue Ocean 1.0-rc3, Blue Ocean 1.1, Blue Ocean 1.0-rc4 [ 261, 271, 281 ]
            michaelneale Michael Neale made changes -
            Rank Ranked higher
            michaelneale Michael Neale made changes -
            Assignee Thorsten Scherler [ tscherler ]
            michaelneale Michael Neale made changes -
            Priority Major [ 3 ] Minor [ 4 ]
            jamesdumay James Dumay made changes -
            Epic Link JENKINS-35750 [ 171713 ] JENKINS-43953 [ 181485 ]
            jamesdumay James Dumay made changes -
            Sprint Blue Ocean 1.0-rc3, Blue Ocean 1.1, Blue Ocean 1.0-rc4 [ 261, 271, 281 ] Blue Ocean 1.0-rc3, Blue Ocean 1.0-rc4 [ 261, 281 ]
            jamesdumay James Dumay made changes -
            Rank Ranked lower
            michaelneale Michael Neale made changes -
            Issue Type Bug [ 1 ] Improvement [ 4 ]
            michaelneale Michael Neale made changes -
            Priority Minor [ 4 ] Major [ 3 ]
            Hide
            bimlendu 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 ?

             

            Show
            bimlendu 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 ?  
            Hide
            jabber422 Abram Hemphill added a comment -

            Is there any update on this?

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

              People

              • Assignee:
                Unassigned
                Reporter:
                michaelneale Michael Neale
              • Votes:
                8 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated: