JSON JFrog Mission Control 中的对象数组 API

JSON Object Arrays in JFrog Mission Control API

我正在使用 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 错误 "Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token"。我之前曾与 Jackson 合作过,当我无法将 JSON 数组对象正确反序列化到我的数据模型中时收到了这个消息,所以我假设这就是这里发生的事情。

有没有其他人遇到过这个问题,或者已经解决了?

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

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