REST API创建虚拟存储库

时间:2018-08-21 19:43:58

标签: rest powershell artifactory

在使用Artifactory REST API创建过去几天一直在苦苦挣扎的虚拟存储库时遇到了问题。本地或远程存储库没有问题。我能够仅使用所需的JSON条目来创建虚拟存储库,但我想对此添加更多内容。我想存储JSON以供将来参考,因此,如果我们希望创建其他虚拟存储库(作为各种模板),可以参考它。

我正在使用PowerShell执行此操作。我正在传递一个存储库名称列表。脚本解析存储库名称,并收集包含JSON值的适当配置文件。

创建存储库API信息: https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateRepository

接受的值: https://www.jfrog.com/confluence/display/RTF/Repository+Configuration+JSON#RepositoryConfigurationJSON-application/vnd.org.jfrog.artifactory.repositories.VirtualRepositoryConfiguration+json

这是可以成功运行的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

谢谢您的时间。

1 个答案:

答案 0 :(得分:1)

Per DarthFennec对我的问题的评论表明我的格式有误:

不确定是否是问题所在,但是您的“存储库”:[“ nuget-local,nuget-remote”]行应该是“ repositories”:[“ nuget-local”,“ nuget-remote”], 。它应该是两个字符串的列表,而不是其中带有逗号的一个字符串的列表。 – DarthFennec 16小时前