如何通过PowerShell更改TFS WIT

时间:2015-01-15 08:03:08

标签: xml powershell tfs

我有PowerShell代码将我的Bug和测试用例WIT导出到一个文件夹中,但我想将新数据添加到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>

1 个答案:

答案 0 :(得分:2)

我会避免在每种类型中更改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