Use feed views to share your packages

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2017

Feeds are containers that allow users to group packages and control who can access them by modifying the feed's permissions.

A feed view on the other hand is a way to enable users to share some packages while keeping others private. Views filter the feed to a subset of packages that meet criteria defined by that view.

There are three types of views: @local, @Prerelease, and @Release. @local is the default view that's commonly used in upstream sources. The latter two are suggested views that you can rename or delete as desired. Those views contain a subset of the feed's packages that have been promoted into that specific view. All views currently support NuGet, npm, Maven, Python, and Universal packages.

Get started with feed views

By default, every feed has three types of views: @local, @Prerelease, and @Release. When you first create a feed, your default view is @local.

Promote a package to prerelease or release view

To promote a package-version:

  1. Select a package from your feed

  2. Select Promote

    Promote button

  3. Choose a view from the dropdown menu then select Promote.

    views dropdown menu

Note

Package demotion is not currently supported. If you want this feature to be added to future releases, please feel free to Suggest a feature on our Azure DevOps Developer Community.

Promote a package using the REST API

In addition to using the user interface in Azure Artifacts, you can also promote a package to a view using the REST API. Azure Artifacts currently supports the following package types: NuGet, Python, npm, Maven, and Universal packages.

  • Promote a NuGet package:

    Example:

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

    Use JsonPatchOperation to construct the body of your request. See NuGet - update package version for more details.

  • Promote an npm package:

    Example:

    PATCH https://pkgs.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/npm/{packageName}/versions/{packageVersion}?api-version=5.1-preview.1
    

    Use JsonPatchOperation to construct the body of your request. See Npm - update package version for more details.

  • Promote a Python package:

    Example:

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

    Use JsonPatchOperation to construct the body of your request. See Python - update package version for more details.

  • Promote a Universal package:

    Example:

    PATCH https://pkgs.dev.azure.com/{organization}/_apis/packaging/feeds/{feedId}/upack/packages/{packageName}/versions/{packageVersion}?api-version=5.1-preview.1
    

    Use JsonPatchOperation to construct the body of your request. See Universal packages - update package version for more details.

    Keep in mind that you cannot publish a package directly to a view. Instead, you should publish the package to your feed then promote it to a view.

Tip

Check out the Get started with the REST API and the REST API samples to learn how to interact with Azure DevOps REST API.

Managing views

You can create your own views or rename and delete existing ones in the feed settings dialog.

Screenshot of the Edit feed button.

Screenshot of the Edit feed button TFS.

In the feed settings view:

  • Select Views
  • Make your changes (Add view, Edit, or Delete)
  • Select Ok

Managing views