JFrog Mission Control API中的JSON对象数组

时间:2016-05-27 19:38:52

标签: json rest jackson artifactory jfrog-mission-control

我正在使用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工作正常。

我得到的错误消息很大,但它基本上是一个Jackson错误,表示"无法从START_ARRAY令牌中反序列化java.util.LinkedHashMap的实例"。我以前和杰克逊一起工作过,当我无法将JSON数组对象正确地反序列化到我的数据模型中时,我已经收到了这个,所以我认为这就是这里发生的事情。

还有其他人有这个问题,还是解决了?

2 个答案:

答案 0 :(得分:1)

它看起来像一个bug。解决问题的最佳方法是联系JFrog支持(support@jfrog.com)。

答案 1 :(得分:1)

这是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"
                }
              }
            ]
}