【问题标题】:Return values from a shell script to a jenkins pipeline script [duplicate]从shell脚本返回值到詹金斯管道脚本[重复]
【发布时间】:2020-09-24 10:37:02
【问题描述】:

我有一个由 jenkins 管道触发的 shell 脚本,用于检测文件夹中的文件是否已更改。我希望脚本根据文件夹中的更改将 1 或 0 返回到管道脚本。我还想在管道脚本中读取该返回值,以便采取相应措施。

【问题讨论】:

标签: bash shell jenkins jenkins-pipeline jenkins-groovy


【解决方案1】:

您可以将sh 步骤传递给returnStdoutreturnStatus 参数。据我所知,你只能通过一个。

要解决这个问题,我会这样做:

def result = sh script: 'my-command || echo error', returnStdout: true
def error = result.endsWith("error")

error 仅在脚本返回非零退出代码时为真。 result 将包含脚本的输出(可能包括字符串“error”,必要时可以删除)

【讨论】: