目前,没有办法在 VSTS 包管理中取消升级包。
并且我在 VSTS 包管理和更新 REST API 文档中发布了一个用户语音 Enable to unpromote package and update REST API document,它建议添加该功能以取消升级包并更新 REST API 文档。您可以投票并跟进。
以及用于推广 NuGet 包的 REST API 如下:
PATCH https://{account}.pkgs.visualstudio.com/DefaultCollection/_apis/packaging/feeds/{feedId}/nuget/packages/{packageId}/versions/{packageVersion}?api-version=5.0-preview.1
应用程序/json:
{
"views":
{ "op":"add",
"path":"/views/-",
"value":"release view" }
}
笔记:
- 对于请求 URL
feedId
和packageId
在请求 URL 中,您可以改用提要名称和包名称。
- 对于 REST API 版本,您还可以使用旧版本,例如
3.0-preview.1
.
如下例所示,在新提要中推广ConsoleApp1
带有版本的 nuget 包以供查看,REST API 是(如果成功,则响应 202 Accepted 状态):1.5.0-alpha
pre


并使用PowerShell实现示例,脚本可以是:
$releaseViewURL = "https://marinaliu.pkgs.visualstudio.com/DefaultCollection/_apis/packaging/feeds/new/nuget/packages/ConsoleApp1/versions/1.5.0-alpha?api-version=5.0-preview.1"
$json = '
{
"views":
{ "op":"add",
"path":"/views/-",
"value":"pre" }
}
'
$bodyJson=$json | ConvertFrom-Json
$user="name"
$token="p1tjzehdq6tilwfjdbgbkymo3f3ojszmrlfgzh302fww6kgwnavq"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
$response = Invoke-RestMethod -Uri $releaseViewURL -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -ContentType "application/json" -Method Patch -Body $bodyJson