2016-08-25 64 views
0

我试图将tfs新工作项状态值设置为“已批准”并出现错误。以编程方式设置TFS新工作项状态

我正在验证之前其实我救我的工作项目,但该项目不会因为错误的获得。错误是因为我将新的工作项状态直接设置为“已批准”,因为它只允许一个可能的值“草稿”。不幸的是,这是我的要求,因为我正在将工作项目从已处于“已批准”状态的其他来源迁移。

(TF237124:工作项目还没有准备好保存)。 领域:“国家”字段的状态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 
       } 

由于提前, 贾米尔

+0

的可能的复制[TFS 2010工作项目还没有准备好保存,但没有验证项目(http://stackoverflow.com/questions/8358182/tfs-2010-work-item-is-not-ready-以保存但没有验证项目) –

回答

0

您必须验证,保存工作项之前。

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

ArrayList result = wi.Validate();

+0

现在我在我确实保存我的工作项目之前进行了验证,但是由于错误,项目没有收到。错误是因为我将新的工作项状态直接设置为“已批准”,因为它只允许一个可能的值“草稿”。不幸的是,这是我的要求,因为我正在将工作项目从已处于“已批准”状态的其他来源迁移。 – Jameel

0

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

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

从开放状态移动至关闭状态,可能需要有人来完成“评论”字段(例如) - 如果它是空的它不能transission。

尝试验证状态更改后,看看是否有任何失败。

0

查看工作项目模板定义XML。在TRASITIONS部分中,只有具有=“”的转换是有效的起始状态(to =“某个状态”中的值)。只能有一个有效的起始状态。

相关问题