【问题标题】:General purpose per-project name-value collection in TFSTFS 中的通用每个项目名称-值集合
【发布时间】:2018-05-19 04:23:08
【问题描述】:

本地 TFS 2015 更新 2。我需要将一些任意标量属性(合理的短文本字符串)附加到我的团队项目中。需要 REST API 访问权限才能读取它们(不一定用于写入)。每个人都可以阅读它们,只有 TFS 管理员可以编写它们。多读,少写。从逻辑上讲,它们是我们发布管理基础架构的一部分(与源代码控制或问题跟踪相反)。

我可以看到几种复杂的方法来做到这一点。例如,我可以在项目的源代码控制根目录中创建一个具有硬编码名称的文件。我可以创建一个具有神奇名称和足够类似 URL 的数据的服务端点。我可以创建一个工作项。但所有这些方法都是丑陋的变通方法,是重新利用不相关的项目级数据结构的练习。

请问有什么简单的方法吗?不能直接访问底层 TFS SQL 数据库。

【问题讨论】:

    标签: tfs tfs-2015


    【解决方案1】:

    您似乎可以使用标签来实现您正在寻找的东西。这些可以应用于您的集合(包括项目)中的任何文件或文件夹。标签有名称和 cmets,可以通过 TFS Rest API 访问。

    要通过 Visual Studio 应用一个(我正在使用 2015),请在源代码管理资源管理器 > 高级 > 应用标签中右键单击文件或文件夹...

    要使用 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 的安全设置,但我知道它存在于以前的版本中,也许我只是没有找到它。您还可以读取仅由特定用户创建的标签。

    【讨论】:

      【解决方案2】:

      自 TFS 2017 以来,在 Build&Release 部分下有库,也就是变量组。这正是我所寻找的 - 一个通用的、项目范围的、以编程方式可访问的命名名称-值集合集。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-16
        • 2013-07-13
        • 1970-01-01
        相关资源
        最近更新 更多