[英]Jenkins - Linux script - Extracting a variable from XML
我有一个 XML 文件,如下所示(XML 响应总是相同的)。 我需要提取sessionToken值并在 Jenkins 文件中使用它。
XML 文件 -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XmlResponse><httpCode>200</httpCode><httpStatus>OK</httpStatus><action>None</action><messageLevel>INFO</messageLevel><objectsList>{"sessionToken":"1234567890"}</objectsList><results/></XmlResponse>
这是我在 Jenkins 中尝试过的代码,但没有用 -
def var=sh([returnStdout: true, script: '`cat output.xml | cut -f10 -d"\\""`'])
println ("var is" + var)
这是我在 Jenkins 控制台日志中看到的 output -
++cat output.xml
+ 1234567890 -----> session Token is extracted in this step but for some reason it assume this as command
/workspace/script.sh: line 1: 1234567890: command not found
根据您正在运行的 Jenkins 的版本,pipe 可能是一个问题。 请尝试以下解决方案
def var=sh([returnStdout: true, script:'/bin/bash -c \'`cat output.xml | cut -f10 -d"\\""`\''])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.