Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

ProGet - Deprecated API support to get custom metadata from universal packages



  • Hi, we are in the process of switching from Artifactory to ProGet and are using universal packages for our first-party applications and libraries. On Artifactory we save a lot of custom metadata to our artifacts which are then used by many internal systems and tools. These systems search for artifacts with specific metadata in order for those artifacts to be promoted, deleted, downloaded, moved, copied etc.

    We have setup our build system to create universal packages from our binaries with several custom metadata properties. I can get the custom metadata for individual universal packages using the deprecated List Universal Package Version endpoint.

    However, the Universal Feed documentation recommends to use the Common Packages API instead of the deprecated universal feed API but none of the common packages API endpoints return custom metadata for packages. Will these deprecated endpoints be removed at some point in the future?

    If so, are you able to add custom metadata to the List Package Versions HTTP response? Maybe aincludeMetadata=true/false parameter could be used so existing API calls don't include extra data. Or the deprecated universal feed API endpoints could be undeprecated? It would also be great if we could use the API to search for packages in a feed based on metadata (including custom) properties.

    If this can't be done and if these deprecated universal feed API endpoints are going to be removed in the future, I can see that assets support getting and setting custom metadata via the API. Should I switch our system from using universal packages to an assets directory instead if we need custom metadata for our purposes?

    Thanks,
    Michael


  • inedo-engineer

    Hi @m-lee_3921 ,

    Sounds like you're off to a great start with Universal Packages - that's exactly what we intended them for.

    Great spot on the docs. In retrospect, using the word "deprecated" was incorrect - we should have said "legacy", for the exact reason you mentioned. We intended to add those capabilities to the common packages API when we wrote the docs, but priorities...

    Anyway I clarified the docs:

    Legacy Universal Feed Endpoints:

    The following endpoints are duplicative of the Common Packages API endpoints and should be avoided when possible:

    While we don't plan on removing them in the foreseeable future, they are considered legacy. Once the Common Packages API includes metadata queries, we will likely call these endpoints "deprecated".

    It wouldn't be "too hard" to add metadata queries to common packages API now that everything has been refactored... but there hasn't been any real user demand for it. And it's already easy to do with upacks as you can see.

    Anyway, when folks start asking for this from other package types, we'll add it to our roadmap. For now, "legacy" is good enough.

    Thanks,
    Steve



  • Hi @stevedennis ,

    Thank you very much for your reply, that is good to know, we will continue with what we have.

    Cheers,
    Michael


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation