나는 기존 버그 추적 시스템에서 모든 결함을 읽고 TFS (2008/2010)로 가져 오는 유틸리티를 작성하고 있습니다. TFS API를 사용하여 새 WorkItem을 만들고 필드를 설정 한 다음 저장합니다. 그러나 "작성자"및 "만든 날짜"필드는 시스템에서 설정하므로 수정할 수 없습니다. 나는이를 설정할 수없는 경우 분명히프로그래밍 방식으로 TFS WorkItem에 대한 필드 값 적용
// these fail with "The value for the field 'Created By' cannot be changed."
defectWorkItem.Fields["Created By"].Value = defect.Submitter;
defectWorkItem.Fields["Created Date"].Value = defect.SubmitDate;
(그리고 나는 그런 유효한 TFS 사용자가 아닌 사람을 수 제출자 설정과 같은 값을 강제 할 수 있도록하고자하는 너무 다른 분야가있다) 필드에서, 같은 사람이 같은 날짜에 만들어 졌던 것처럼 보이는 모든 유산 버그로 끝날 것입니다.
API를 사용할 수있는 방법이 있습니까?하지만 일반적으로 보호되는 필드를 변경해야합니까? 필자는 TFS 데이터베이스 테이블에 직접 액세스하는 방법을 살펴 보았지만 스키마가 복잡해 보였으므로 직접 데이터를 수정하려고 시도하는 것이 위험하다고 생각합니다.
감사합니다. 나는 필요하다. 나는 그것을 시험해보고 그것을 작동시킬 수 있다면 그것을 대답으로 표시 할 것입니다. –
이 깃발이 TFS 2012에 새로 추가되었는지 알고 계십니까? 이전 버전의 라이브러리에 없습니다. –
나는 이것을 시험 해왔다. 그리고 그것은 조금 이상하다. 첫째, 첫 번째 저장에서는이 필드를 설정할 수 없으며 후속 저장에서만 필드를 설정할 수 있습니다. 둘째,이 기술로 System.CreatedDate 및 Microsoft.VSTS.Common.ActivatedDate를 변경할 수 있지만 System.CreatedBy를 변경하지 못하게합니다. –