私は、従来のバグ追跡システムのうち、すべての欠陥を読み、TFS(2008/2010)にインポートするためのユーティリティを書いています。私は、TFS APIを使用して新しいWorkItemを作成し、フィールドを設定してから保存しています。しかし、私は "Created By"フィールドと "Created Date"フィールドを変更することはできません。これらはシステムによって設定されているためです。私はこれらを設定することができない場合は明らかにプログラムによる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;
(と私は、このような有効なTFSユーザーではない誰かになるように、提出者の設定などの値を、強制的にできるようにしたいと思いますどのあまりにも他のフィールドがあります)フィールドでは、同じ人によって同じ日付に作成されたように、すべてのレガシーバグが表示されます。
私が正常に保護されたフィールドへの変更によるAPIが、力を使用することができる方法はありますか?私はTFSデータベースのテーブルに直接アクセスしてみましたが、スキーマが複雑に見えて、データを自分で修正しようとするのはかなり危険です。
感謝を使用できないことを意味します、これは正確に何を鳴らし私は欲しい。私はそれが、このフラグはTFS 2012で新しく追加された場合、あなたが知っています –
を作業得ることができる場合、私はそれを試してみると、その答えとしてそれをマークしますか?以前のバージョンのライブラリにはありません。 –
私はこれを試してきましたが、少し奇妙です。まず、最初の保存時にこれらのフィールドを設定することはできません。後続の保存のみに設定できます。第二に、それは私がこのテクニックでSystem.CreatedDateとMicrosoft.VSTS.Common.ActivatedDateを変更することができていても、私はSystem.CreatedByを変更できません。 –