Create an Organization level feed in Azure Artifacts

A while ago the Azure DevOps team has removed the option to create "Organization level feeds" in Azure Artifacts. This move matches many previous efforts to isolate "projects" in Azure DevOps to make things less confusing and easier to migrate.

Create an Organization level feed in Azure Artifacts

The official guidance is to create Project level feeds, unless you know what you're doing. And to discourage users, you need to create a new feed using the REST API instead.

Can No Longer Create Organization-scoped Feeds - Developer Community
Developer Community for Visual Studio Product family

Exactly how, the issue doesn't explain. So let me show you how I did it.

1. Create a Bogus Feed

Navigate to the Artifacts Hub and hit the + Create Feed button. Enter a bogus name for the feed. Don't hit create yet!

Then open the Developer Tools in Chrome or Edge. Go to the Network tab and hit Create to create the feed:

2. Capture the POST call

From the Network tab, find the POST call to the _api/Packaging/Feeds endpoint and copy it as PowerShell (or the kind of scripting language you're familiar with).

3. Change the call to target the Organization level

Change the following elements:

  1. Remove the Project GUID from the POST URL ant the Path header:
  2. Remove the Project element from the payload
  3. Change the temporary-bogus-name to the desired value
  4. Add -UseBasicParsing if, like me, you don't have Internet Explorer installed
Don't copy my values verbatim. The Identity Descriptors are specific to you account and you need a valid Bearer Token.

Now run the code and: there's your feed!

Note: this example doesn't change the authentication headers, the Bearer Token will expire, breaking the code. You can replace then Bearer Token with a base64 encoded PAT string.