VSTS-从发行版视图取消升级软件包版本

时间:2018-07-23 05:00:20

标签: azure-devops azure-artifacts

我们的项目当前正在使用VSTS(Visual Studio Team Services)软件包在项目之间共享软件包。我们希望采用Release Views功能来挑选处于不同成熟阶段的软件包,以自动发布到不同的环境。

虽然很容易将软件包升级为特定视图,但是我还没有找到一种从该视图取消升级软件包的方法。出于几个原因可能需要这样做:

  1. 包装被误装了。
  2. 由于发现了一些问题,因此需要取消促销包装,因此需要将其降级为较低的成熟度。

我没有找到通过VSTS用户界面执行此操作的直接方法。我确实找到了一些articles通过REST API来执行此操作,但是看起来Feed中的current APIs不再支持此操作。

有人知道如何实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

目前,在VSTS软件包管理中无法取消推广软件包。

然后,我发布了一个用户语音Enable to unpromote package in VSTS package management 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

application / json:

{
 "views": 
   { "op":"add", 
     "path":"/views/-", 
     "value":"release view" }
 }

注意:

  • 对于请求URL中的feedIdpackageId,您可以改用feed名称和包名称。
  • 对于REST API版本,您还可以使用较旧的版本,例如3.0-preview.1

如下面的示例所示,在新提要的ConsoleApp1视图中将版本为1.5.0-alpha的nuget软件包pre升级为$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 视图,则REST API为(成功则响应202接受状态):

enter image description here

enter image description here

并使用PowerShell实现该示例,脚本可以是:

Predicate predicate = criteriaBuilder.like(root.get(filterKey).as(String.class),
                    "%" + filterValue + "%");