Я использую Groovy для получения списка образов докера из нашей артефакты,
Мне удалось получить список версий для определенного образа докера в виде json, и я хотел бы поместить его всписок, так что я смогу использовать его в качестве «активного параметра выбора».
Я не отличный специалист, но я пытался создать небольшой скрипт, но я получаю эту ошибку:
java.lang.NumberFormatException: For input string: "1.0-SNAPSHOT"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.valueOf(Integer.java:766)
Это мой сценарий:
import groovy.json.JsonSlurper
def response = ["curl", "-X", "GET", "https://stg.jfrog.io/XXX/api/storage/docker-local/genie/galerts?uri", "-H", "Postman-Token: 26403513-778c-43c8-b44b-70cb2bbc4352", "-H", "X-JFrog-Art-Api:Pqs", "-H", "cache-control: no-cache"].execute().text
JsonSlurper slurper = new JsonSlurper()
Map parsedJson = slurper.parseText(response)
String idValue = parsedJson.children.uri
newString = idValue.replaceAll("[<>\\[\\]//]", "");
//def output = [newString]
def l = newString.split(',').collect{it as int}
Полный Json, который я получаю, это:
{
"repo": "docker-local",
"path": "/genie/galerts",
"children": [
{
"uri": "/1.0-SNAPSHOT",
"folder": true
},
{
"uri": "/1.1",
"folder": true
},
{
"uri": "/1.1-76",
"folder": true
},
{
"uri": "/1.1-SNAPSHOT",
"folder": true
},
{
"uri": "/1.2",
"folder": true
},
{
"uri": "/1.3",
"folder": true
},
{
"uri": "/1.4",
"folder": true
},
{
"uri": "/1.4.1",
"folder": true
},
{
"uri": "/1.4.2",
"folder": true
},
{
"uri": "/1.4.2-Release",
"folder": true
},
{
"uri": "/1.4.3",
"folder": true
},
{
"uri": "/1.4.3.1",
"folder": true
},
{
"uri": "/1.4.4",
"folder": true
},
{
"uri": "/_uploads",
"folder": true
}
],
"uri": "https://stg.jfrog.io/XXX/api/storage/docker-local/genie/galerts"
И вот результат, который я получаю после манипуляций:
Результат: 1.0-SNAPSHOT, 1.1, 1.1-76, 1.1-SNAPSHOT, 1.2, 1.3, 1.4, 1.4.1, 1.4.2,1.4.2-Release, 1.4.3, 1.4.3.1, 1.4.4, _uploads
Все, что мне нужно, это поместить этот результат в список, поэтому я получу отдельные значения из этого списка (как вы можетепосмотрите на изображение, которое я загрузил - вот как это выглядит сейчас)
![enter image description here](https://i.stack.imgur.com/nxNkb.png)