我在我的jenking groovy文件中使用下面的代码片段,在那里我得到了null响应。
def Services= sh(script: "curl -s --header \"PRIVATE-TOKEN: ${gittoken}\" ${url}| jq -r .${Servicename}[]", returnStdout: true)
我正在下载的文件如下所示。
{
"FrameWork1": [
"sample/sample1",
"sample/sample2"
]
}
基本上我得到的是Framework1的值
如果我给予下面的一个值,我将得到Framework对象的第一个值
工作组成员:###############
def Services= sh(script: "curl -s --header \"PRIVATE-TOKEN: ${gittoken}\" ${url}| jq -r .${Servicename}[1]", returnStdout: true)
2条答案
按热度按时间hsgswve41#
jq
过滤器应为.FrameWork1[]
以获取字符串列表https://jqplay.org/s/3iCv-off4ep
tjrkku2a2#
不要使用shell参数扩展来生成jq程序,而是将shell参数作为实参传递给jq(这样就不必担心上下文、引用、转义等问题)。