Note that there are some explanatory texts on larger screens.

plurals
  1. POTFS Alert Server Plugin, for Sending Mail On History Change
    text
    copied!<p>I have server plugin for TFS which send mail when something is assign to person.</p> <p>Now what I have to do is, my plugin will send the mail on history change. example:</p> <p>(mak) have assigned a bug to (betty). betty change the state of bug and assigned to (maddi) so my server plugin will send the assign to mail.First for (betty) and then for (maddi), now i want that it will send the history change alert to (mak). how can i achieve this goal? My code is below with all fields.</p> <pre><code>string mailbody =""; mailbody += "&lt;body&gt;&lt;div class='Title'&gt;&lt;b&gt;&lt;a href={0}&gt;Work item:{1}&amp;nbsp;{2} - {3}&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;"; mailbody += "&lt;table&gt;{4}&lt;/table&gt;&lt;br/&gt;&lt;br /&gt;Other fields &lt;table class='WithBorder'&gt;{5}&lt;/table&gt;"; string mailfooter = "&lt;div class=footer&gt;&lt;br /&gt;Notes:&lt;br /&gt;- All dates and times are shown in GMT+05:00:00 Pakistan Standard Time&lt;br /&gt;- You are receiving this notification because of a subscription created by SHMA\\Fahad.Ali&lt;br /&gt;Provided by &lt;a HREF='http://go.microsoft.com/fwlink/?LinkID=129550'title='Microsoft Visual Studio® Team System 2010'&gt;Microsoft Visual Studio® Team System 2010&lt;/a&gt;&lt;/div&gt;&lt;/body&gt;"; string mailsubject = "{0} Work Item : {1} {2} - {3}"; StringBuilder wiMessage = new StringBuilder("", 500); StringBuilder wiSubject = new StringBuilder("", 200); if (AssignedToChange) { string otherData = "", codeData = ""; foreach (StringField field in workItemChange.CoreFields.StringFields) { codeData += "&lt;tr &gt;&lt;td class='PropName'&gt;" + field.Name + "&lt;/td&gt;&lt;td class='PropName'&gt;" + field.NewValue + "&lt;/td&gt;&lt;/tr&gt;"; } otherData += "&lt;tr width=100%&gt;&lt;td class='ColHeadingMedium'&gt;Field &lt;/td&gt;&lt;td class='ColHeading'&gt;New Value &lt;/td&gt;&lt;td class='ColHeading'&gt;Old Value &lt;/td&gt;&lt;/tr&gt;"; foreach (StringField field in workItemChange.ChangedFields.StringFields) { otherData += "&lt;tr&gt;&lt;td class='ColHeadingMedium'&gt;" + field.Name + "&lt;/td&gt;&lt;td class='ColHeadingMedium'&gt;" + field.NewValue + "&lt;/td&gt;&lt;td class='ColHeadingMedium'&gt;" + field.OldValue + "&lt;/td&gt;&lt;/tr&gt;"; } wiMessage.AppendFormat(mailbody, workItemChange.DisplayUrl, "", witem.Id, witem.Title, codeData, otherData); wiMessage.AppendLine(mailfooter); wiSubject.AppendFormat(mailsubject, workItemChange.PortfolioProject, "",witem.Id,witem.Title); SendEmail(assTo, wiSubject.ToString(), styleTag + wiMessage.ToString()); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload