Always ship Azure DevOps.

How to access invisible packages in Azure DevOps artifact feed?

This post was most recently updated on September 12th, 2021.

3 min read.

Let’s go with a very simple “note-to-self” kind of a blog post today. Plenty of those to go around on this blog, and I am sure that there will be plenty more!

This one is another case that should be really obvious, but isn’t, and should just work, but doesn’t. Namely, when you have run a pipeline in Azure DevOps expecting it to publish a package in your internal NuGet feed so that all of your friends can use it.

And Azure DevOps is great for just this, as it has a very handy package feed functionality under “Artifacts” section – an internal feed, to which it’s really easy to package and build your Nuget package to.

This article is not going to go into the details of packaging and publishing a package. Instead, let’s presume that you have a build that’s supposed to publish a new NuGet package, and that stuff actually works… But you’re actually experiencing issues trying to access your newly published package.


So let’s recap:

Do you want to access your package in the Azure DevOps artifact feed? Sure thing – easy! Just build and publish with the “NuGetCommand@2 pack“, and you’re good!

However, it might take any number of minutes for your package to show up in the UI – the longest I’ve seen has been around 30 minutes. And even longer for the package to show up in the NuGet feed (especially if you can’t even promote your package since you can’t access it!)

But what if you really need to verify the package has the right contents before pushing it to the Prerelease or Release stream – right away?


Well, luckily you can access the package via the URL even if it’s not available through the UI! Below, I’ll show you how:

Time needed: 2 minutes

  1. Navigate to Artifacts in Azure DevOps

    Simple enough:
    How to find the Artifact feed on Azure DevOps?
    Yes, it says “Artifacts”, and it looks like a pile of pink boxes.

  2. Select your package

    Search for your package by name and select it from the list.

    Found the package! Filtering sure does make your life a bit better. But does the package have all the versions available? We'll see.

    However, when you access the details of your package, it might show you pretty much any version of the package – not the latest, the latest published, or any other meaningful version.

  3. Observe the Versions of your package

    Select “Versions” from the ribbon (or whatever it’s called here):Azure DevOps Artifacts feed package Versions -section.

  4. Choose a version of your package

    In the screenshot below, I can see versions 3.1.4 and 3.2.0 – but not 3.1.5, which I just published (as a hotfix to 3.1 branch, while maintaining 3.2 branch as-is) and wanted to access – but can’t.

    Which versions are available for a given Azure DevOps package? Not the latest one, that's what. There's often quite a long delay before a published package becomes available!

    So, next, we’ll be accessing the new, still unavailable package!

  5. Modify the URL showing the package information

    The screenshot below shows what’s in the URL, and what you need to change:
    How to identify different sections of the URL of a certain package version in Azure DevOps' Artifacts -feed?
    Feed and package names are good – keep them. But you need to change the version number (shown in purple) Common Code Packages/_packaging?_a=package&feed=CCCP&package=Contoso.Commons.Packaging.Helper&protocolType=NuGet&version=3.2.0&view=overview

    I’ll change mine to 3.1.5. And lo and behold, what do I get?

  6. There you go! Do whatever you want with your package version now :)

    Nice – there’s the package! It might still take a while to be available through the actual UI, but you can still Download & Promote your package at will!
    NuGet package details on Azure DevOps' Artifacts feed

And boom! You should be good. Another simple but easy-to-screw-up thing documented.

5 10 votes
Article Rating
Notify of

Inline Feedbacks
View all comments