Json 使用jqapi在Artifactory中获取最新的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

我需要下载应用程序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-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)
附笔 今后,请遵循以下指南:

谢谢,你能指出遗漏了什么吗?只有您更正的标签?或者你的意思是我应该提供一个工作示例输入?