【问题标题】:Getting "InvalidListValue" error for all dropdown list fields in the WIT while saving the Work Item though TFS API通过 TFS API 保存工作项时,WIT 中的所有下拉列表字段出现“无效列表值”错误
【发布时间】:2017-12-27 23:48:48
【问题描述】:

在通过 TFS API 保存工作项时,WIT 中的所有下拉列表字段都出现“InvalidListValue”错误。

我正在尝试使用以下代码保存工作项:

            ArrayList result = workItem.Validate();
            if (result.Count <= 0)
            {
                productBackLogItem.Save();
            }

但是,对于 WIT 中的所有下拉字段,结果包含 8 个“InvalidListValue”验证错误(我的 WIT 有 8 个下拉列表字段)。

当我从模板中删除“AllowedValues”时,它工作正常。

我已验证,“SuggestedValues”和“AllowedValues”具有相同的值。请在下面找到详细信息。

            <SUGGESTEDVALUES expanditems="true">
                <LISTITEM value="Added" />
                <LISTITEM value="Pending" />
            </SUGGESTEDVALUES>
            <ALLOWEDVALUES expanditems="true">
                <LISTITEM value="Added" />
                <LISTITEM value="Pending" />
            </ALLOWEDVALUES>

当我尝试访问 AllowedValues 思想 API 列表时,它显示计数为 0。

           workItem.Fields["Sample.Control"].AllowedValues.Count

提前致谢!

【问题讨论】:

  • 您在工作项中是否有任何其他更改,例如状态更改?
  • 如何设置字段的值?可以分享更详细的代码吗?
  • 你是否设置了像 workItem.Fields["Sample.Control"].Value="Added"; 这样的字段值?如果要指定默认值,可以在该字段中添加默认规则:
  • 谢谢大家。最后它奏效了。实际上,我下载了 WIT 并在没有在编辑器中打开它的情况下上传了它,它可以工作。

标签: c# api tfs workitem


【解决方案1】:

TFS API 只是从数据库中检索 Allowed values 数据,如果结果值不满足要求,您应该修改工作项定义。

作为一种解决方法,您可以将您的帐户添加到“项目收集服务帐户”中,然后启用bypass rule,这允许您在不遵守工作项规则的情况下保存和更改工作项值。更多细节请参考这个问题:How to change workflow state of the newly created TFS work item through API?

【讨论】:

    【解决方案2】:

    谢谢大家。最后它奏效了。实际上,我下载了 WIT 并在没有在编辑器中打开它的情况下上传了它,它可以工作。

    看起来,当我在编辑器中打开它时(我使用的是 Sublime 和 Notepad++),它以某种格式对 WIT 进行编码,TFS 以不同的方式处理 Suggested 和 Allowed 值。

    【讨论】:

      【解决方案3】:

      对于一种特定的工作项类型(需求/CMMI),我遇到了类似的问题。集合的另一个项目的其他类型和要求的 AllowedValues 可用,并且一切正常。

      用来自另一个项目的定义替换模板 XML 没有帮助。深入研究验证结果发现,Microsoft.TeamFoundation.WorkItemTracking.Client.AllowedValuesCollection 根本无法加载。

      清理 TFS 缓存已解决问题。

      【讨论】:

        猜你喜欢
        • 2010-12-06
        • 1970-01-01
        • 1970-01-01
        • 2017-11-16
        • 2011-03-07
        • 1970-01-01
        • 2021-08-12
        • 1970-01-01
        • 2021-09-10
        相关资源
        最近更新 更多