我正在尝试将存储在 Excel 工作表中的遗留问题跟踪系统中的项目导入到 Team Foundation Server 中。我成功循环遍历 Excel 文件的行,并且可以创建新的工作项,但它们始终处于“建议”状态。如果我尝试将状态更改为“已关闭”,然后调用工作项的 Validate 方法,我会收到 State 属性上的验证错误 - InvalidListValue{4}。
Dim MyProj As Project = store.Projects("MyProject")
Dim WIT As WorkItemType = MyProj.WorkItemTypes("Task")
Dim WorkItem As WorkItem = WIT.NewWorkItem()
WorkItem.Title = Title
WorkItem.Description = Description
WorkItem.History = History
WorkItem.State = "Closed"
WorkItem.Fields("Assigned To").Value = AssignedTo
WorkItem.Fields("Priority").Value = Priority
WorkItem.Fields("Closed By").Value = ClosedBy
我还尝试了下面的代码,尝试保存工作项,将状态更改为关闭,然后再次保存,但这似乎也不起作用 - 当我在下打开它时,状态仍然是建议的我的工作项 TFS 查询:
WorkItem.Save()
WorkItem.State = "Closed"
WorkItem.Fields("Closed By").Value = ClosedBy
WorkItem.Save()
还有其他人尝试过这样的事情并成功吗,或者有这样做的想法吗?哦,这是我正在尝试创建和关闭的 CMMI 任务。我想知道我是否试图跳过 CMMI 要求的某些事件,但我对此很陌生,这只是一个猜测。
最佳答案
我弄清楚了如何以编程方式创建和关闭 TFS CMMI 任务。关键是要经过CMMI流程,可以在http://msdn.microsoft.com/en-us/library/bb668962.aspx找到。 ,更改 State 属性并在每次更改后保存 WorkItem。
... WorkItem creation tasks
WorkItem.Fields("Assigned To").Value = AssignedTo
WorkItem.Fields("Priority").Value = Priority
'This first Save creates a WorkItem in the Proposed state'
WorkItem.Save()
WorkItem.State = "Active"
Errors = WorkItem.Validate()
WorkItem.Save()
WorkItem.State = "Resolved"
WorkItem.Fields("Resolved By").Value = ClosedBy
WorkItem.Fields("Resolved Reason").Value = "Just because"
Errors = WorkItem.Validate()
WorkItem.Save()
WorkItem.State = "Closed"
WorkItem.Fields("Closed By").Value = ClosedBy
Errors = WorkItem.Validate()
WorkItem.Save()
关于.net - 如何以编程方式关闭 TFS 工作项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850994/