Json 使用jqapi在Artifactory中获取最新的Jar
我需要下载应用程序JAR以执行,我在脚本的这一步中找到了它: jq'.files[]| select.uri | containsRELEASE和contains.jar' 这给了我一系列的结果,看起来像是这个的多个块:Json 使用jqapi在Artifactory中获取最新的Jar,json,jq,maxby,Json,Jq,Maxby,我需要下载应用程序JAR以执行,我在脚本的这一步中找到了它: jq'.files[]| select.uri | containsRELEASE和contains.jar' 这给了我一系列的结果,看起来像是这个的多个块: { other versions } { "uri": "/2.0.6-RELEASE/app-name-2.0.6-RELEASE.jar", "size": 32981192, "lastModified": "2020-02-05T14:21:06.728
{
other versions
}
{
"uri": "/2.0.6-RELEASE/app-name-2.0.6-RELEASE.jar",
"size": 32981192,
"lastModified": "2020-02-05T14:21:06.728-05:00",
"folder": false,
"sha1": "whatever",
"sha2": "whatever2",
"mdTimestamps": {
"properties": "2020-02-05T14:21:13.468-05:00"
}
}
根据文档,我尝试将其扩展到:
jq'.files[]| select.uri | containsRELEASE和contains.jar | max_by.lastModified'
但它返回错误
jq:错误:3284:无法索引字符串lastModified的字符串
将所有不同的搜索过滤器组合在一起的文档不明确。。我不知道什么是正确的语法,请
我的目标是:只检索一个元素,理想情况下只检索URI字符串,这样我就可以在下一个命令中直接使用它来获取JAR,而无需进一步处理
我还尝试了max_by的文档化语法,后缀为:|{uri}-同样的错误。max_by需要一个数组作为输入,因此出于您尝试的精神,您可能希望考虑:
.files
| map( select(.uri | contains("RELEASE")
and contains(".jar")))
| max_by(.lastModified)
附笔
今后,请遵循以下指南:
谢谢,你能指出遗漏了什么吗?只有您更正的标签?或者你的意思是我应该提供一个工作示例输入?