以编程方式设置TFS新工作项状态

本文关键字:工作 状态 新工作 编程 方式 设置 TFS | 更新日期: 2023-09-27 18:04:09

我试图将tfs的新工作项状态值设置为"已批准",并得到一个错误。

在我实际保存我的工作项之前,我正在验证,但是由于错误,该项目没有得到。错误是因为我将一个新的工作项状态直接设置为"已批准",因为它只允许一个可能的值"草案"。不幸的是,这是我的需求,因为我正在从已经处于"批准"状态的不同源迁移我的工作项。

(TF237124:工作项未准备好保存)。字段:'State'字段的状态为InvalidListValue

tfsWorkItem.Fields["System.State"].Value = "Approved";
                var invalidFields = tfsWorkItem.Validate();
                if (null == invalidFields || 0 == invalidFields.Count)
                {                        
                    tfsWorkItem.Save(); //Never comes here because of invalidFields
                }

提前感谢,贾米尔

以编程方式设置TFS新工作项状态

您必须在保存之前验证WorkItem。

validate()方法将返回一个无效字段的数组列表。

原文:https://stackoverflow.com/a/8359044/4846465

在更改工作项的状态之前,您正在验证该工作项。转换到新状态可能会导致工作项模板操作/规则被处理。这些可能是更改某些字段的值和/或向字段添加新规则,这将导致先前有效的数据无效。

从打开状态移动到关闭状态可能需要某人完成"Review"字段(例如)-如果它是空的,则无法传输。

尝试在状态更改后进行验证,并查看是否有任何失败。

查看工作项模板定义XML。在transforms部分中,只有具有from="的转换才是有效的起始状态(to="Some state"中的值)。只有一个有效的起始状态

您可以将您的帐户添加到"Project Collection Service Accounts"中,然后启用绕过规则,该规则允许您在不遵守工作项规则的情况下保存和更改工作项值。如何通过API更改新创建的TFS工作项的工作流状态?