我正在使用TFS2018,并且试图自定义工作项警报电子邮件的内容。
我已经尝试按照this page上的说明编辑WorkItemChangedEvent.xsl文件。但是,我发现该文件夹下既有WorkItemChangedEvent.xsl文件又有WorkItemChangedEvent_2.xsl文件。我尝试修改这两个文件并重新启动应用程序池,但是更改似乎没有生效。然后,我什至尝试通过重命名来删除WorkItemChangedEvent.xsl文件,并发现没有该文件,电子邮件警报仍可以正常工作。然后,我尝试删除WorkItemChangedEvent_2.xsl文件,并发现警报停止工作。因此,我得出结论,所需的实际文件是WorkItemChangedEvent_2.xsl而不是WorkItemChangedEvent.xsl。但是,然后我尝试放入一个名为WorkItemChangedEvent_2.xsl的空文件,并且警报再次开始工作。所以现在我很困惑。似乎系统仅需要存在一个名为WorkItemChangedEvent_2.xsl的文件才能使警报正常工作,并且该文件的实际内容并不重要。那么系统实际上从哪里获取电子邮件格式?我该怎么做以自定义我的工作项目警报电子邮件?
答案 0 :(得分:0)
通过更多测试,我们还复制了您的方案并生成了相同的WorkItemChangedEvent_2.xsl。两者的文件完全不同,例如WorkItemChangedEvent_2.xsl
只有134KB,WorkItemChangedEvent.xsl
只有21KB。但是,在浏览了MSDN和相关的官方链接之后,我们没有找到任何包含为什么有两个文件的详细说明的文档。
与您不同,如果我们更改WorkItemChangedEvent_2.xsl
,它将正常工作,并且电子邮件警报格式也会更新。在此过程中,我们还将重新启动TFS background Job agent服务。
如果您丢失了WorkItemChangedEvent_2.xsl中的内容,请共享此文件here。您可以尝试在本地下载和修改,然后再次测试。
如果仍然遇到问题,还可以使用以下解决方法。
创建您自己的扩展程序或使用某些第三方扩展程序来处理这种情况。例如TfsNotificationRelay包括以下功能:
另一个选项是通过API订阅TFS事件,此方法提供了设置所需电子邮件主题的选项。检查此博客以获取更多信息:http://geekswithblogs.net/BobHardister/archive/2013/07/24/tfs-2012-api-create-alert-subscriptions.aspx(该博客是针对TFS2012编写的,也与TFS2018类似)
事件服务使用
.xsl
和plaintextXsl
文件来 将事件的XML数据转换为电子邮件。编辑 .xsl文件以获取电子邮件通知的其他格式。对于 HTML格式的电子邮件,所有事件的核心布局是 存储在TeamFoundation.xsl中。您应该备份任何 您想要更改的文件,然后测试您的更改。在你之后 完成更改后,TFS将在下一次使用修改后的转换 生成事件通知的时间。
WorkItemChangedEvent_2.xsl这只会影响HTML电子邮件,首先检查您是否正在接收HTML电子邮件。
从 TeamFoundation.xsl 文件和上述WorkItemChangedEvent xsl文件自动生成发出的电子邮件的内容。
因此,如果您要自定义详细内容,请同时更改与TeamFoundation.xsl
相关的部分。
但是,请注意,不建议修改TeamFoundation.xsl文件。如果您确实修改了此文件的内容,则必须彻底测试您的修改。对该文件的不正确修改会导致TFS电子邮件警报失败,并导致您无法在Web浏览器中查看工作项,变更集或文件。