【问题标题】:TFS 2015: default value for old workitemsTFS 2015:旧工作项的默认值
【发布时间】:2016-12-22 11:38:18
【问题描述】:

TFS 2015.2.1。我有一个带有自定义字段的工作项。我已经看到,如果我设置默认值(模板的新规则),这不会自动填充预先存在的记录。 虽然新记录获得默认值,但现有记录在新字段中仍然没有值:如果我打开工作项,我可以看到该字段 填充默认值(也包含旧记录),但仅当您保存工作项时才会保存此值。 您可以通过查询看到这一点:如果您使用“默认值”搜索工作项,您将只找到新工作项或重新打开并重新保存的旧工作项。 是否可以在旧记录中保存默认值?

【问题讨论】:

    标签: tfs


    【解决方案1】:

    我在 TFS 2015.3 中进行了测试,当将带有 DEFAULT 规则的默认值应用于自定义字段时,如下例所示,预先存在的记录也具有此值:

    <FieldDefinition name="version" refname="version.version" type="String">
      <DEFAULT from="value" value="1.0" />
    </FieldDefinition>
    

    您可以将您的 TFS 升级到 TFS 2015.3,并设置与我的示例类似的规则,您的预先存在的记录也应该具有默认值。

    【讨论】:

    • 这正是我所做的。您确定该值已保存,而不仅仅是在您打开记录时显示?我已经看到没有填充旧值。正如我所说,您可以看到这是一个简单的查询,用于查找所有将新字段设置为默认值的工作项:它什么也不返回。查看 TFS 2015.3 的变更日志,我在以下修复中找不到任何内容。
    • 正确,只显示,值没有写入工作项。
    【解决方案2】:

    我过去曾遇到过这个“问题”,您的观察是正确的。更改工作项模板中字段的规则不会影响现有记录,直到您打开并保存它们。因此,您必须更新现有记录以使用它们各自的默认值填充新字段。

    您可以使用 Excel 批量编辑现有记录并实现您的目标。

    【讨论】:

    • 这适用于少量工作项,但超过 10,000 个时会变得非常慢。
    • 我同意。在这种情况下,或者当您有太多团队项目要更新时,我会使用 API。
    【解决方案3】:

    TL;DR;我之前遇到过这个问题,并创建了一个工具来批量编辑工作项并填写值

    1-1000 个工作项

    只需使用 Web 访问批量编辑。在网页中多选,右键单击,然后选择编辑。

    1000-10,000 个工作项

    创建一个查询,然后打开 Excel 并连接到 TFS/VSTS 并打开查询。从此处批量编辑并发布。

    10,000 多个工作项目

    使用 VSTS 同步迁移 (https://marketplace.visualstudio.com/items?itemName=nkdagility.vsts-sync-migration) 工具批量编辑任意数量工作项中的一个或多个字段。使用带有尽可能多的“字段映射”的“UpdateWorkItem”处理器来进行您需要的更改。

    注意:文档中有一些不准确之处,但如果您使用 Chocolatey 安装,则可以在任何地方使用“vstssyncmigrator init”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-21
      • 2014-08-07
      • 2016-05-07
      • 1970-01-01
      • 2011-02-19
      • 2016-09-16
      • 2017-10-30
      • 1970-01-01
      相关资源
      最近更新 更多