簡體   English   中英

如何自定義 TFS 工作項警報 email

[英]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包括以下特性:

  • 通知多個目標
  • 基於規則的事件過濾
  • 對集合、項目、存儲庫、分支等進行正則表達式過濾。
  • 可配置的通知格式
  • 通知鏈接回 TFS web 中的事件
  • 可擴展以支持其他目標

另一種選擇是通過 API 訂閱 TFS 事件,此方法提供了設置您想要的 email 主題的選項。 查看此博客以獲取更多信息: http://geekswithblogs.net/BobHardister/archive/2013/07/24/tfs-2012-api-create-alert-subscriptions.aspx (該博客是為 TFS2012 編寫的,類似於 TFS2018出色地)


事件服務使用.xslplaintextXsl文件將事件的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM