让@Mention 在 TFS 2017.3 上使用 TFS 扩展

Getting @Mention to work with a TFS Extension on TFS 2017.3

我正在尝试以编程方式在工作项的讨论区中添加对属于 TFS 组成员的用户的提及。我们成功地将 1.0 版本与 TFS 2017 更新 2 一起使用:

<a href=\"{id.UniqueName}\" data-vss-mention=\"version:1.0\">@{id.DisplayName}</a>

但是升级到 TFS 2017 update 3 无法发送有关通知的电子邮件。我们还尝试了我们可以在 TeamFoundationIdentitiy 对象上找到的所有 "user ids",以获得此处找到的解决方案:

那么我们如何才能让@mentions 的电子邮件在 TFS 2017.3 中再次工作?

更新:2018 年 9 月 11 日

已验证的服务帐户无法发送电子邮件,而我的帐户 运行 相同的代码将发送电子邮件以供提及:

using (var connection = new VssConnection(collectionUri, cred))
using (var client = connection.GetClient<WorkItemTrackingHttpClient>())
{
    var wi = new JsonPatchDocument
    {
        new JsonPatchOperation()
        {
            Operation = Operation.Add,
            Path = "/fields/System.History",
            Value = $"<a href=\"mailto:{id.Descriptor.Identifier}\" data-vss-mention=\"version:1.0\">@{id.DisplayName}</a>&nbsp; <br/>"
        }
    };
    using (var response = client.UpdateWorkItemAsync(wi, workItemId, suppressNotifications: false))
    {
        response.Wait();
    }
}

我们通过放弃使用 WorkItemHttpClient 并返回加载 SOAP WorkItemStore 作为提交更改的用户而不是服务帐户来解决。如果我们可以使用 TFS 的 WebApi

模拟用户,那就太好了