在使用Artifactory REST API创建过去几天一直在苦苦挣扎的虚拟存储库时遇到了问题。本地或远程存储库没有问题。我能够仅使用所需的JSON条目来创建虚拟存储库,但我想对此添加更多内容。我想存储JSON以供将来参考,因此,如果我们希望创建其他虚拟存储库(作为各种模板),可以参考它。
我正在使用PowerShell执行此操作。我正在传递一个存储库名称列表。脚本解析存储库名称,并收集包含JSON值的适当配置文件。
创建存储库API信息: https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateRepository
这是可以成功运行的JSON :(仅传递必填字段)
{
"rclass" : "virtual",
"packageType": "nuget"
}
但是,当我尝试向其添加任何其他属性时,似乎会失败。这是我想传递的所有信息,后面是我做的错误。 (已消毒的值,用于公开发布。)
{
"rclass" : "virtual",
"packageType": "nuget",
"repositories": ["nuget-local,nuget-remote"],
"description": "Nuget virtual repository.",
"notes": "Created by PowerShell script.",
"includesPattern": "*.nupkg",
"excludesPattern": "*mvn,*npm",
"defaultDeploymentRepo": "nuget-local"
}
Invoke-WebRequest:远程服务器返回错误:(400)错误 请求。在 [ps1文件的路径。]:226 字符数:5 +调用WebRequest-方法放置-Uri $ resource -Body $ RepoConfig -H ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(System.Net.HttpWebRequest:HttpWebRequest)[Invoke-WebRequest], WebException + FullyQualifiedErrorId:WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
谢谢您的时间。
答案 0 :(得分:1)
Per DarthFennec对我的问题的评论表明我的格式有误:
不确定是否是问题所在,但是您的“存储库”:[“ nuget-local,nuget-remote”]行应该是“ repositories”:[“ nuget-local”,“ nuget-remote”], 。它应该是两个字符串的列表,而不是其中带有逗号的一个字符串的列表。 – DarthFennec 16小时前