我寫一個程序來讀取所有的缺陷了原有的bug跟蹤系統,並將其導入TFS(2008/2010)。我正在使用TFS API創建新的WorkItem,設置其字段,然後保存它們。但是,我無法修改「創建者」和「創建日期」字段,因爲這些字段是由系統設置的。 (也有我想得要能夠強制爲值,如設置提交者是人誰是不是一個有效的TFS用戶等領域)編程方式迫使字段值的TFS工作項目
// 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;
顯然,如果我不能設置這些字段,我將最終看到所有遺留的錯誤,看起來像它們是由同一個人在同一天創建的。
有沒有一種方法,我可以使用領域API,但力通過改變在正常情況下保護?我已經考慮直接訪問TFS數據庫表,但架構看起來很複雜,我認爲嘗試修改那裏的數據本身是相當危險的。
感謝查詢,這聽起來正是我需要。我會嘗試,並將其標記爲答案,如果我能得到它的工作 –
你知道,如果這個標誌是新與2012 TFS?它不在以前版本的庫中。 –
我一直在嘗試這個,這是有點奇怪。首先,您不能在第一次保存時設置這些字段,只能後續保存。其次,它不會讓我改變System.CreatedBy,即使我可以用這種技術來改變System.CreatedDate和Microsoft.VSTS.Common.ActivatedDate。 –