【发布时间】:2018-08-21 19:43:57
【问题描述】:
我在使用 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) Bad 要求。在 [ps1 文件的路径。]:226 字符:5 + Invoke-WebRequest -Method Put -Uri $resource -Body $RepoConfig -H ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], 网络异常 + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
感谢您的宝贵时间。
【问题讨论】:
-
不确定这是否是问题所在,但您的
"repositories": ["nuget-local,nuget-remote"],行应该是"repositories": ["nuget-local","nuget-remote"],。它应该是一个包含两个字符串的列表,而不是一个包含一个逗号的字符串的列表。 -
哇,我发誓我试过了,但它失败了,但我又试了一次,它成功了......所以我会把它标记为问题已解决。谢谢!
标签: rest powershell artifactory