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 (limited operations), 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
    

    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
    

    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
    

    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
    

    See Universal packages - update package version for more details.

    Keep in mind that you cannot publish a package directly to a view (e.g. nuget.exe publish -Source ...feed@view/nuget/...). Instead, you should publish the package to your feed then promote it to a view.

Managing views

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

With your feed selected, select the gear icon (on the right side of the page).

Edit feed button

Edit feed button

In the feed settings view:

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

Managing views

What's next?