How to execute a command in a Jenkins 2.0 Pipeline job and then return the stdout

前端 未结 2 1545
失恋的感觉
失恋的感觉 2021-02-12 13:39

Is there a better way to run a shell task in a Jenkins 2.0 pipeline and then return the stdout of the command. The only way I can get this to work is to pipe the o

2条回答
  •  感情败类
    2021-02-12 13:56

    Yes as luka5z mentioned, version 2.4 of Pipeline Nodes and Processes Plugin now supports this kind of stuff:

    def stdout = sh(script: 'git config --get remote.origin.url', returnStdout: true)
    println stdout
    
    def retstat = sh(script: 'git config --get remote.origin.url', returnStatus: true)
    println retstat
    

    Seems if you try to return both in the same script, returnStatus will overwrite returnStdout which is a bit unfortunate.

    You can read more in the official documentation here

    Edit: Furthermore, it allows you finer grained control over failed/unstable build statuses too. You can see an example in my comment here

提交回复
热议问题