内部部署TFS 2015更新2.我需要将一些任意标量属性(合理的短文本字符串)附加到我的团队项目中。需要REST API访问才能阅读它们(不一定是为了写作)。每个人都可以阅读它们,只有TFS管理员可以编写它们。经常阅读,很少写。从逻辑上讲,它们是我们的发布管理基础架构的一部分(而不是源控制或问题跟踪)。
我可以看到几种令人费解的方法。例如,我可以在项目的源代码管理根目录中创建一个带有硬编码名称的文件。我可以创建一个具有魔术名称和足够类似URL的数据的服务端点。我可以创建一个工作项。但是,所有这些方法都是丑陋的变通方法,是重新利用不相关的项目级数据结构的练习。
请问有直截了当的方法吗?直接访问底层TFS SQL数据库是禁忌。
答案 0 :(得分:2)
您似乎可以使用标签来实现您的目标。这些可以应用于集合中的任何文件或文件夹(包括项目)。标签有名称和注释,可以通过TFS Rest API访问。
要通过Visual Studio应用一个(2015年是我正在使用的),右键单击Source Control Explorer中的文件或文件夹>高级>申请标签......
要使用TFS Rest API访问标签,您可以view the documentation here。以下是使用PowerShell获取项目所有标签的示例:
$result = Invoke-WebRequest -Uri "http://YourTfsServer:8080/tfs/YourCollection/YourProject/_apis/tfvc/labels?api-version=1.0-preview.1" -UseDefaultCredentials -Method Get
$labels = $($result.Content | ConvertFrom-Json).Value
write $labels
如果您担心权限,则可以禁用“低权限”用户创建标签。我找不到TFS 2015的安全设置,但我知道它存在于以前的版本中,也许我只是没找到它。您还可以阅读仅由特定用户创建的标签。
答案 1 :(得分:0)
自2017年TFS以来,Build& Release部分下有Library,又名Variable Groups。它正是我所寻找的 - 一个通用的,项目范围的,可编程访问的一组命名的名称 - 值集合。