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

Timestamper does not work properly with Windows style line endings

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When using timestamper with either PowerShell or Windows Batch pipeline steps the timestamps do not get added to the console output.  I suspect this is because in these steps the console log has Windows style line endings of CRLF instead of unix style.

      Example repro:

      node("Windows") {
          timestamps {
              bat """
              @echo off
              echo These
              echo lines
              echo should
              echo have
              echo timestamps
              """
              powershell """
              Write-Host "These"
              Write-Host "lines"
              Write-Host "should"
              Write-Host "have"
              Write-Host "timestamps"
              """
          }
      }

       
      Result:

      [Pipeline] { (hide)
      [Pipeline] timestamps (hide)
      [Pipeline] { (hide)
      [Pipeline] bat (hide)
      2018-11-13 10:08:00 [TestTimestamper] Running batch script
      These
      lines
      should
      have
      timestamps
      [Pipeline] powershell (hide)
      2018-11-13 10:08:00 [TestTimestamper] Running PowerShell script
      These
      lines
      should
      have
      timestamps
      [Pipeline] }
      [Pipeline] // timestamps
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] End of Pipeline

       

        Attachments

          Activity

          gabloe Gabriel Loewen created issue -
          gabloe Gabriel Loewen made changes -
          Field Original Value New Value
          Description When using timestamper with either PowerShell or Windows Batch pipeline steps the timestamps do not get added to the console output.  I suspect this is because in these steps the console log has Windows style line endings of CRLF instead of unix style.

          Example repro:

           
          {code:java}
          node("Windows") {
              timestamps {
                  bat """
                  @echo off
                  echo These
                  echo lines
                  echo should
                  echo have
                  echo timestamps
                  """
                  powershell """
                  Write-Host "These"
                  Write-Host "lines"
                  Write-Host "should"
                  Write-Host "have"
                  Write-Host "timestamps"
                  """
              }
          }{code}
           
          Result:

           
          {noformat}
          [Pipeline] { (hide)
          [Pipeline] timestamps (hide)
          [Pipeline] { (hide)
          [Pipeline] bat (hide)
          2018-11-13 10:08:00 [TestTimestamper] Running batch script
          These
          lines
          should
          have
          timestamps
          [Pipeline] powershell (hide)
          2018-11-13 10:08:00 [TestTimestamper] Running PowerShell script
          These
          lines
          should
          have
          timestamps
          [Pipeline] }
          [Pipeline] // timestamps
          [Pipeline] }
          [Pipeline] // node
          [Pipeline] End of Pipeline{noformat}
           
          When using timestamper with either PowerShell or Windows Batch pipeline steps the timestamps do not get added to the console output.  I suspect this is because in these steps the console log has Windows style line endings of CRLF instead of unix style.

          Example repro:
          {code:java}
          node("Windows") {
              timestamps {
                  bat """
                  @echo off
                  echo These
                  echo lines
                  echo should
                  echo have
                  echo timestamps
                  """
                  powershell """
                  Write-Host "These"
                  Write-Host "lines"
                  Write-Host "should"
                  Write-Host "have"
                  Write-Host "timestamps"
                  """
              }
          }{code}
           
           Result:
          {noformat}
          [Pipeline] { (hide)
          [Pipeline] timestamps (hide)
          [Pipeline] { (hide)
          [Pipeline] bat (hide)
          2018-11-13 10:08:00 [TestTimestamper] Running batch script
          These
          lines
          should
          have
          timestamps
          [Pipeline] powershell (hide)
          2018-11-13 10:08:00 [TestTimestamper] Running PowerShell script
          These
          lines
          should
          have
          timestamps
          [Pipeline] }
          [Pipeline] // timestamps
          [Pipeline] }
          [Pipeline] // node
          [Pipeline] End of Pipeline{noformat}
           
          gabloe Gabriel Loewen made changes -
          Priority Minor [ 4 ] Major [ 3 ]
          gabloe Gabriel Loewen made changes -
          Resolution Cannot Reproduce [ 5 ]
          Status Open [ 1 ] Resolved [ 5 ]

            People

            Assignee:
            stevengbrown Steven G Brown
            Reporter:
            gabloe Gabriel Loewen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: