2010-05-17 5 views
2

Excel 시트에 저장된 기존 문제점 추적 시스템에서 Team Foundation Server로 항목을 가져 오려고합니다. Excel 파일의 행을 성공적으로 순환하며 새 작업 항목을 만들 수 있지만 항상 제안 상태입니다. 상태를 Closed로 변경하려고 시도한 다음 작업 항목의 Validate 메서드를 호출하면 State 속성 인 InvalidListValue {4}에 대한 유효성 검사 오류가 발생합니다.프로그래밍 방식으로 TFS 작업 항목을 닫는 방법

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 

나는 또한, 작업 항목을 저장 상태가 폐쇄을 변경하고 다시 저장하려고, 아래의 코드를 시도하지만,이 중 하나가 작동하지 않는 것으로 보입니다 - 국가가 여전히 제안 할 때 I 내 작업 항목 TFS 쿼리 아래를 엽니 다

 WorkItem.Save() 

     WorkItem.State = "Closed" 
     WorkItem.Fields("Closed By").Value = ClosedBy 
     WorkItem.Save() 

은 다른 사람이 그런 일을 시도하고 성공, 또는 그 일을위한 아이디어를 했습니까? 아, 그리고 이것은 만들고 닫으려고하는 CMMI 작업입니다. CMMI에서 요구하는 특정 활동을 건너 뛸 수 있을지 궁금하지만이 점을 처음 접했을뿐입니다.

답변

5

TFS CMMI 작업을 프로그래밍 방식으로 만들고 닫는 방법을 알았습니다. 핵심은 http://msdn.microsoft.com/en-us/library/bb668962.aspx에있는 CMMI 프로세스를 거쳐 Statey 속성을 변경하고 변경 될 때마다 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() 
0

다른 방법은 "프로세스 편집기를"intsall하는 것입니다.
Visual Studio를 사용하여 서버에서 "WIT-WorkItem Type"을 엽니 다.
팀 프로젝트 목록에서 변경할 WorkItem을 선택하고 assignedto = None을 제거하고 "Required"로 변경하여 워크 플로를 편집하십시오.

관련 문제