Объектные массивы JSON в API управления полетами JFrog
Я использую Mission Control версии 1.1
Я попытался сообщить REST API, что я хотел создать репозиторий. Мой вход JSON ниже:
{
"scriptMappings": [{
"scriptNames": ["virtual-repo"],
"scriptUserInputs": [{
"TemplateExecutor#0#name#0": "%s"
}, {
"TemplateExecutor#0#region#0": "%s"
}],
"instanceName": "us-east-1a"
}]
}
Я убедился, что мой конфигурационный скрипт разрешает обе эти переменные пользователя. Когда я изменяю пользовательский ввод только на одно значение (вместе со скриптом конфигурации):
{
"scriptMappings": [{
"instanceName": "us-east-1a",
"scriptUserInputs": {
"TemplateExecutor#0#name#0": "%s"
},
"scriptNames": ["virtual-repo"]
}]
}
REST API работает просто отлично.
Полученное сообщение об ошибке огромно, но в основном это ошибка Джексона, которая гласит: "Невозможно десериализовать экземпляр java.util.LinkedHashMap из токена START_ARRAY". Я работал с Джексоном раньше и получил это, когда не смог должным образом десериализовать объект массива JSON в мои модели данных, поэтому я предполагаю, что именно здесь и происходит.
Кто-нибудь еще имел эту проблему, или решил ее?
2 ответа
Это ошибка в JFrog. Для справки я открыл следующую заявку в службу поддержки: https://support.jfrog.com/support/tickets/40899
Правильный JSON для достижения этой цели выглядит следующим образом:
{
"scriptMappings":[
{
"instanceName" : "us-east-1a",
"scriptNames" : ["docker-remote-repo"],
"scriptUserInputs":
{
"TemplateExecutor#0#region#0": "%s",
"TemplateExecutor#0#url#0": "%s",
"TemplateExecutor#0#name#0": "%s"
}
}
]
}
Это похоже на ошибку. Лучший способ решить эту проблему - обратиться в службу поддержки JFrog (support@jfrog.com).