繁体   English   中英

Jenkins - Linux 脚本 - 从 XML 中提取变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM