On-premises TFS 2015 update 2. I need to attach some arbitrary scalar attributes (reasonably short text strings) to my team projects. Need REST API access for reading them (not necessarily for writing). Everyone can read them, only TFS admins can write them. Read often, written rarely. Logically, they're a part of our release management infrastructure (as opposed to, say, source control or issue tracking).
I can see several convoluted ways to do that. For example, I could create a file with a hard-coded name in the source control root for the project. I could create a service endpoint with a magic name and sufficiently URL-like data. I could create a work item. But all those approaches are, well, ugly workarounds, exercises in repurposing unrelated project level data structures.
Is there a straightforward way, please? Direct access to the underlying TFS SQL database is a no-no.
Since TFS 2017, there's the Library, aka Variable Groups, under the Build&Release section. It's exactly what I was looking for - a general purpose, project scoped, programmatically accessible set of named name-value collections.