[英]TFS2010: Set up an alert that will email a member in the team when a work item is assigned to them
[英]How to customize TFS work item alert email
我正在使用 TFS2018,並且正在嘗試自定義工作項警報電子郵件的內容。
我已嘗試按照此頁面上的說明編輯 WorkItemChangedEvent.xsl 文件。 但是我發現該文件夾下既有 WorkItemChangedEvent.xsl 文件,又有 WorkItemChangedEvent_2.xsl 文件。 我嘗試修改這兩個文件並重新啟動應用程序池,但更改似乎沒有生效。 然后我什至嘗試通過重命名來刪除 WorkItemChangedEvent.xsl 文件,發現 email 警報在沒有該文件的情況下仍然有效。 然后我嘗試刪除 WorkItemChangedEvent_2.xsl 文件,發現警報停止工作。 所以我得出結論,所需的實際文件是 WorkItemChangedEvent_2.xsl 而不是 WorkItemChangedEvent.xsl。 但是,然后我嘗試放入一個名為 WorkItemChangedEvent_2.xsl 的空文件,並且警報再次開始工作。 所以現在我很困惑。 似乎系統只需要存在一個名為 WorkItemChangedEvent_2.xsl 的文件才能使警報起作用,而文件的實際內容並不重要。 那么系統實際上是從哪里獲得 email 格式的呢? 我需要做什么來自定義我的工作項警報電子郵件?
通過更多測試,我們還重現了您的場景並生成了相同的 WorkItemChangedEvent_2.xsl。 兩者的文件完全不同,例如WorkItemChangedEvent_2.xsl
有 134KB, WorkItemChangedEvent.xsl
只有 21KB。 但是,在通過 MSDN 和相關官方鏈接 go 之后,我們沒有找到任何包含詳細解釋為什么有兩個文件的文檔。
與您不同的是,如果我們更改WorkItemChangedEvent_2.xsl
,它會正常工作並且電子郵件警報格式會得到更新。 過程中我們還重啟了TFS后台Job agent服務。
如果您丟失了 WorkItemChangedEvent_2.xsl 中的內容,請在此處共享此文件。 您可以嘗試在本地下載並修改,再次測試。
如果您仍然對此感到困惑,您還可以使用以下解決方法。
創建您自己的擴展程序或使用一些第 3 方擴展程序來處理這種情況。 比如這個TfsNotificationRelay包括以下特性:
另一種選擇是通過 API 訂閱 TFS 事件,此方法提供了設置您想要的 email 主題的選項。 查看此博客以獲取更多信息: http://geekswithblogs.net/BobHardister/archive/2013/07/24/tfs-2012-api-create-alert-subscriptions.aspx (該博客是為 TFS2012 編寫的,類似於 TFS2018出色地)
事件服務使用
.xsl
和plaintextXsl
文件將事件的 XML 數據轉換為電子郵件消息。 編輯 .xsl 文件以獲得 email 通知的不同格式。 對於 HTML 格式的 email 消息,所有事件的核心布局都存儲在 TeamFoundation.xsl 中。 您應該對要更改的任何文件進行備份,然后測試您的更改。 進行更改后,TFS 將在下次生成事件通知時使用修改后的轉換。
WorkItemChangedEvent_2.xsl 這只會影響 HTML 電子郵件,首先檢查您是否收到 HTML 電子郵件。
發出的電子郵件的內容是從TeamFoundation.xsl文件和上述 WorkItemChangedEvent xsl 文件自動生成的。
所以如果你想自定義詳細內容,請同時更改TeamFoundation.xsl
相關部分。
但是,請注意不建議修改 TeamFoundation.xsl 文件。 如果您確實修改了此文件的內容,則必須徹底測試您的修改。 此文件的錯誤修改可能會導致 TFS email 警報失敗,並導致您無法在 Web 瀏覽器中查看工作項、變更集或文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.