Объектные массивы 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).

Другие вопросы по тегам