加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 以编程方式强制TFS WorkItem的字段值

发布时间:2020-12-15 08:34:41 所属栏目:百科 来源:网络整理
导读:我正在编写一个实用程序来读取遗留错误跟踪系统中的所有缺陷,并将它们导入TFS(2008/2010).我正在使用TFS API创建新的WorkItems,设置它们的字段,然后保存它们.但是,我无法修改“创建者”和“创建日期”字段,因为这些字段是由系统设置的. (还有其他字段,我希望
我正在编写一个实用程序来读取遗留错误跟踪系统中的所有缺陷,并将它们导入TFS(2008/2010).我正在使用TFS API创建新的WorkItems,设置它们的字段,然后保存它们.但是,我无法修改“创建者”和“创建日期”字段,因为这些字段是由系统设置的. (还有其他字段,我希望能够强制使用值,例如将提交者设置为不是有效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数据库表,但架构看起来很复杂,我认为尝试自己修改数据会很危险.

解决方法

如果您是服务帐户并且启用了绕过规则功能,则可以设置“创建日期”和“创建者”字段.

使用此标志创建WorkItemStore类的实例时,可以选择绕过规则:WorkItemStoreFlags.BypassRules.

请注意,您只能为工作项的第一个修订版设置这些字段.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读