提升包和管理源视图

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

源视图允许用户通过共享某些包来控制包可见性,同时使其他包保持私密性。 每个视图筛选源以基于为该视图定义的特定条件显示包的子集。

默认情况下,Azure Artifacts 附带三个视图: @Local@Prerelease@Release。 该 @Local 视图是默认视图,包含所有已发布的包以及从上游源保存的包。 所有视图都支持 NuGet、npm、Maven、Python、Cargo 和通用包。

注意

Azure Artifacts 仅支持从默认视图发布和还原包 - @Local。 不能直接发布到 @Prerelease@Release 视图。

提升包

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“ 项目”,然后从下拉菜单中选择源。

  3. 选择要升级的包,然后选择“ 提升”。

    显示如何将包提升到 Azure Artifacts 源中的视图的屏幕截图。

  4. 从下拉菜单中选择视图,然后选择“ 提升”。

    显示可用视图列表的屏幕截图。

重要

不支持包降级。 升级包后,无法将其还原到以前的视图。

使用 REST API 提升包

除了使用 Azure Artifacts 用户界面之外,还可以使用 REST API 升级包。

请求正文的格式应为 JSON 修补程序 文档,该文档将视图追加到视图数组的末尾。 有关更多详细信息,请参阅 REST APIREST API 示例入门。

  • 组织范围的源

    PATCH https://pkgs.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1
    
  • 项目范围的源

    PATCH https://pkgs.dev.azure.com/{organization}/{project}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1
    

使用 JsonPatchOperation 构造请求的正文。 有关更多详细信息,请参阅 NuGet - 更新包版本

示例

$ curl -X "PATCH" "https://pkgs.dev.azure.com/{organization}/{project}/_apis/packaging/feeds/{feedId}/nuget/packages/{packageName}/versions/{packageVersion}?api-version=7.1" \
-h 'Content-Type: application/json' \
-u ':${PAT}' \
-d $'{
  "views": {
    "op": "add",
    "path": "/views/-",
    "value": "{viewName}"
  }
}'

注意

公共项目中的所有源视图都可供 Internet 上的每个人都访问。

管理视图

Azure Artifacts 提供三种默认视图: @Local@Prerelease@Release。 还可以通过直接从源设置重命名或删除现有视图来创建新视图和管理现有视图。

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“ 项目”,然后从下拉菜单中选择源。

  3. 选择最右侧 的齿轮图标以访问源的设置。

    显示如何访问源设置的屏幕截图。

  4. 选择 视图,选择视图,然后选择“ 编辑” 以编辑视图。 如果要添加新视图,请选择“ 添加视图”。

  5. 完成时选择“保存”。

    显示如何添加、编辑或删除源视图的屏幕截图。

重要

对于公共源,如果将视图的访问权限更改为 特定人员,该视图将不再作为上游源提供。