如何通过 PowerShell 更改 TFS WIT

How to Change TFS WIT via PowerShell

我有将 Bug 和测试用例 WIT 导出到文件夹中的 PowerShell 代码,但我想向 XML 添加新数据。所以我想每次都添加一个新版本号但不删除任何现有数据,例如下一个版本是 1.1.0.2205。 我已经有了导入 WIT 的代码,但这是我苦苦挣扎的地方。 任何帮助将不胜感激

这是 Bug WIT 的样子以及我要添加数据的位置:

<FIELD name="Detected in Version" refname="Example.DetectedInVersion" type="String" reportable="dimension">
    <SUGGESTEDVALUES expanditems="true">
      <LISTITEM value="1.2107.0.0" />
      <LISTITEM value="1.2201.0.0" />
      <LISTITEM value="1.1.0.2202" />
      <LISTITEM value="1.1.0.2203" />
      <LISTITEM value="1.1.0.2204" />
    </SUGGESTEDVALUES>
    <REQUIRED />
  </FIELD>

我会避免更改每种类型的 WIT,而是使用 GlobalList。你的定义变成

<FIELD name="Detected in Version" refname="Example.DetectedInVersion" type="String" reportable="dimension">
    <SUGGESTEDVALUES expanditems="true">
      <GLOBALLIST name="MyListOfVersions" />
    </SUGGESTEDVALUES>
    <REQUIRED />
  </FIELD>

全局列表在另一个 XML 文件中定义,如下所示

<?xml version="1.0" encoding="utf-8"?>
<gl:GLOBALLISTS xmlns:gl="http://schemas.microsoft.com/VisualStudio/2005/workitemtracking/globallists">
  <GLOBALLIST name="MyListOfVersions">
      <LISTITEM value="1.2107.0.0" />
      <LISTITEM value="1.2201.0.0" />
      <LISTITEM value="1.1.0.2202" />
      <LISTITEM value="1.1.0.2203" />
      <LISTITEM value="1.1.0.2204" />
  </GLOBALLIST>
</gl:GLOBALLISTS>

并使用类似

的命令导入
witadmin importgloballist /collection:http://your_tfs_server:8080/tfs/DefaultCollection /f:MyListOfVersionsGlobalLists.xml

现在无需更改定义即可轻松编辑此列表。您可以重新 运行 相同的命令来更改文件的内容,或者,如果您更喜欢纯 Powershell 代码,请查看 Adding to a GlobalList