Мне нужно загрузить JAR приложения для выполнения, и мне удалось выяснить это до этой части шага в моем скрипте:
jq '.files[] | select(.uri | contains("RELEASE") and 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 | contains("RELEASE") and contains(".jar")) | max_by(.lastModified)'
Но он возвращает ошибку jq: error (at <stdin>:3284): Cannot index string with string "lastModified"
Документация расплывчата при объединении всех различных поисковых фильтров. Я не уверен, какой правильный синтаксис, пожалуйста.
Моя цель: получить только один элемент, в идеале только строку URI, чтобы я мог использовать чтобы получить JAR непосредственно в моей следующей команде без дальнейшей обработки.
Я также попробовал документированный синтаксис для max_by с суффиксом: | {uri}
- та же ошибка.