• Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Critical Critical
    • robot-plugin
    • Jenkins ver. 1.656

      I am using the Jenkins pipeline and I want to include the test results from robotframework. The robot-plugin did not even make the list of required plugins so I assume it is not working??!

      https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md#build-steps-and-post-build-actions

      It would be great to have robotframework results so please let me know what you think.

          [JENKINS-34469] robotframework pipeline-plugin compatibility

          Tatu Kairi added a comment -

          bassam_khouri we do not have ETAs as we are maintaining this plugin alongside our full-day jobs. This is definitely on our radar, as it is annoyance to us as well.

          Tatu Kairi added a comment - bassam_khouri we do not have ETAs as we are maintaining this plugin alongside our full-day jobs. This is definitely on our radar, as it is annoyance to us as well.

          Luca Maragnani added a comment - - edited

          I'm using the workaround proposed. Everything works fine except the build is marked as FAILURE, even if RobotPublisher step succeed. This is the relevant part of jenkinsfile (results were obtained by previous execution of RF):

           

          node {
          
            try {
                stage('Test myapp') {
                   echo "R ${currentBuild.result} C ${currentBuild.currentResult}"
                   step([
                      $class : 'RobotPublisher',
                      outputPath : 'myapp/output/',
                      outputFileName : "*.xml",
                      disableArchiveOutput : false,
                      passThreshold : 100,
                      unstableThreshold: 95.0,
                      otherFiles : "*/selenium-screenshot.png,*/report-.csv",
                    ])
                 }
                 echo "R ${currentBuild.result} C ${currentBuild.currentResult}"
              } catch (e) {
                 throw(e)
              } finally {
              }
          }
          
          

           

          The relevant output follows:

          [Pipeline] echo
          R null C SUCCESS
          [Pipeline] step
          Robot results publisher started...
           -Parsing output xml:
           Done!
           -Copying log files to build dir:
           Done!
           -Assigning results to build:
           Done!
           -Checking thresholds:
           Done!
           Done publishing Robot results.
          [Pipeline] }
          [Pipeline] // stage
          [Pipeline] echo
          R FAILURE C FAILURE
          

          Thank you,

          Luca

          EDIT: fixed formatting and pasted code.

          Luca Maragnani added a comment - - edited I'm using the workaround proposed. Everything works fine except the build is marked as FAILURE, even if RobotPublisher step succeed. This is the relevant part of jenkinsfile (results were obtained by previous execution of RF):   node {   try {      stage( 'Test myapp' ) {          echo "R ${currentBuild.result} C ${currentBuild.currentResult}"          step([            $class : 'RobotPublisher' ,            outputPath : 'myapp/output/' ,            outputFileName : "*.xml" ,            disableArchiveOutput : false ,            passThreshold : 100,            unstableThreshold: 95.0,            otherFiles : "*/selenium-screenshot.png,*/report-.csv" ,          ])       } echo "R ${currentBuild.result} C ${currentBuild.currentResult}"    } catch (e) {       throw (e)    } finally {     } }   The relevant output follows: [Pipeline] echo R null C SUCCESS [Pipeline] step Robot results publisher started... -Parsing output xml: Done! -Copying log files to build dir: Done! -Assigning results to build: Done! -Checking thresholds: Done! Done publishing Robot results. [Pipeline] } [Pipeline] // stage [Pipeline] echo R FAILURE C FAILURE Thank you, Luca EDIT: fixed formatting and pasted code.

          Tatu Kairi added a comment -

          lucamaro

          Sorry but this is completely unreadable output. All I know is the workaround described is used daily all over the world, so I would hazard a guess you have something else going wrong in your pipeline that then fails the pipeline – not the calling of the publisher.

          Tatu Kairi added a comment - lucamaro Sorry but this is completely unreadable output. All I know is the workaround described is used daily all over the world, so I would hazard a guess you have something else going wrong in your pipeline that then fails the pipeline – not the calling of the publisher.

          tattoo, I'm sorry for previous post in hurry. I'll do some more debugging in my code and jenkins setup.

          Luca Maragnani added a comment - tattoo , I'm sorry for previous post in hurry. I'll do some more debugging in my code and jenkins setup.

          jlpinardon added a comment -

          I am able to publish robot results on build page within a pipeline. But I have two questions :

          1. When the pipeline runs its some stages on one node, and some other stages (including the robot tests) on another node, how can I be sure that publishing the results  as a post build action will retrieve the reports ?
            I haven't find how to specify that the post build robot results  publication step must run a the requested node.
          2. Results don't appears on the job page.
            Is there a workaround to publish results on job page, or is there a plan to integrate such results in pipelines ?

          Thanks for your help
          Best Regards
          J.L.P.

          jlpinardon added a comment - I am able to publish robot results on build page within a pipeline. But I have two questions : When the pipeline runs its some stages on one node, and some other stages (including the robot tests) on another node, how can I be sure that publishing the results  as a post build action will retrieve the reports ? I haven't find how to specify that the post build robot results  publication step must run a the requested node. Results don't appears on the job page. Is there a workaround to publish results on job page, or is there a plan to integrate such results in pipelines ? Thanks for your help Best Regards J.L.P.

          jlpinardon added a comment - - edited

          Dear All,

          First of all, have a nice new year !

           

          I have another comment about the Robot Publisher. If it sets the build as unstable, the entire build is shown as unstable, which is the awaited situtation.
          But, when looking at the stages, be it on classical or blue ocean interface, all stages appear as unstable.
          For many users, this is really annoying, because they would like to more easily determine at first glance if a stage is OK or not.

          Indeed, it would , not only be cosmetic, but actually much more user friendly and I would say offer better ergonomics, if the stages were let green (and tagged as Passed) unless the one where publisher is used. Or for the best (but I guess it is a bit  more complex as it could need addtional confugration items) the step where robot tests are actually run.

          Thanks for your help.
          Best Regards
          J.L.P.

          jlpinardon added a comment - - edited Dear All, First of all, have a nice new year !   I have another comment about the Robot Publisher. If it sets the build as unstable, the entire build is shown as unstable, which is the awaited situtation. But, when looking at the stages, be it on classical or blue ocean interface, all stages appear as unstable. For many users, this is really annoying, because they would like to more easily determine at first glance if a stage is OK or not. Indeed, it would , not only be cosmetic, but actually much more user friendly and I would say offer better ergonomics, if the stages were let green (and tagged as Passed) unless the one where publisher is used. Or for the best (but I guess it is a bit  more complex as it could need addtional confugration items) the step where robot tests are actually run. Thanks for your help. Best Regards J.L.P.

          jlpinardon added a comment -

          Hello,

          Sorry if it looks like I am insisting... But the (not so) cosmetic problem I reported above is so annoying for (perhaps miseducated) users that they want me to split the pipeline into two pieces because they don't clearly understand if the build (stricto sensu) is OK or not.
          It certainly not be a big job to do that, but it is not intellectually satisfying at all, and it breaks the pipeline concept.

          jlpinardon added a comment - Hello, Sorry if it looks like I am insisting... But the (not so) cosmetic problem I reported above is so annoying for (perhaps miseducated) users that they want me to split the pipeline into two pieces because they don't clearly understand if the build (stricto sensu) is OK or not. It certainly not be a big job to do that, but it is not intellectually satisfying at all, and it breaks the pipeline concept.

          Juho Saarinen added a comment -

          I think above described thing comes from Jenkins itself. At least if stage fails, all stages before that are marked in standard UI as failed (just with a bit fainter color). Also, if there would be something that could do for it, it should be in another issue, as this is about pipeline support in general.

          Juho Saarinen added a comment - I think above described thing comes from Jenkins itself. At least if stage fails, all stages before that are marked in standard UI as failed (just with a bit fainter color). Also, if there would be something that could do for it, it should be in another issue, as this is about pipeline support in general.

          Aleksi Simell added a comment -

          Hi jlpinardon

          And sorry for the long delay. I'm not a 100% sure what is the overall issue, if it still exists. Can you please provide your Robot plugin version and Jenkins version?

          And to answer your few questions. I had those same issues, but they were purely Jenkins related. Updating Jenkins to a newer version showed only the stage I called the plugin as unstable/failed and the other stages as successful. Also, some earlier version of Jenkins didn't give the results view, but I've had no issues with newer versions of Jenkins.

          And this is how I call my plugin (with newest plugin version): robot outputPath: '.', passThreshold: 80.0, unstableThreshold: 70.0

          Aleksi Simell added a comment - Hi jlpinardon And sorry for the long delay. I'm not a 100% sure what is the overall issue, if it still exists. Can you please provide your Robot plugin version and Jenkins version? And to answer your few questions. I had those same issues, but they were purely Jenkins related. Updating Jenkins to a newer version showed only the stage I called the plugin as unstable/failed and the other stages as successful. Also, some earlier version of Jenkins didn't give the results view, but I've had no issues with newer versions of Jenkins. And this is how I call my plugin (with newest plugin version): robot outputPath: '.', passThreshold: 80.0, unstableThreshold: 70.0

          Jean-Luc Pé added a comment -

          Hi Aleksi Simell,

           

          Hum, I must admit that I completely forget the comments I made here.
          Clearly, the stage status vs build status problem is resolved and it was a pure Jenkins problem.
          Also, I have no more problem to retrieve the robot results... but I am also on a simpler context. Nevertheless, it is possible to specify node or agent even within post actions, or publish results within a stage. So, this is no more a problem.

          Anyway, thanks for taking care ... even late

          Best Regards
          J.L.P.

           

          Jean-Luc Pé added a comment - Hi Aleksi Simell,   Hum, I must admit that I completely forget the comments I made here. Clearly, the stage status vs build status problem is resolved and it was a pure Jenkins problem. Also, I have no more problem to retrieve the robot results... but I am also on a simpler context. Nevertheless, it is possible to specify node or agent even within post actions, or publish results within a stage. So, this is no more a problem. Anyway, thanks for taking care ... even late Best Regards J.L.P.  

            hifi Juho Saarinen
            markfink Mark Fink
            Votes:
            16 Vote for this issue
            Watchers:
            22 Start watching this issue

              Created:
              Updated:
              Resolved: