我需要创建一个宏或VS.net Addin,它将在TFS工作项的字段中插入当前日期和时间以及用户名。
示例宏不起作用,我找不到任何方法来programaticaly访问在IDE中打开的TFS工作项。
这可能吗?
答案 0 :(得分:0)
AFAIK,不,这是不可能的。可以使用在IDE中打开的相同WorkItem。这可以通过连接到WorkItemStore实例并打开相同的项目来完成。
但是我不相信可以访问IDE中打开的WorkItem实例。这将要求TFS客户端公开可以从中查询活动WorkItem的服务。我不相信他们这样做。
答案 1 :(得分:0)
如果您编写自己的自定义WIT控件,这可能是可能的。即使这样,我也不确定它是否可以从宏中访问 - 可能还需要编写一个VS加载项。
然而,听起来好像你正在做的事情会更好地由内置的TFS工作流引擎提供服务。假设您要记录当前日期和时间。当有人解决错误时,当前用户。您所要做的就是覆盖两个状态之间转换的XML定义。例如:
<Transition from="Not Done" to="Ready For Test">
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.Checkin" />
</ACTIONS>
<REASONS>
<DEFAULTREASON value="Sent to QA" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</Transition>
如果这还不够,这里有一个关于WIT定制的14部分(!)系列:http://blogs.msdn.com/eugenez/archive/2009/05/10/work-item-customization-tidbits-custom-controls-part-14-of-x.aspx