【发布时间】:2019-02-15 05:57:06
【问题描述】:
我正在尝试以编程方式在工作项的讨论区域中添加对属于 TFS 组成员的用户的提及。我们使用 1.0 版本和 TFS 2017 更新 2 成功:
<a href=\"{id.UniqueName}\" data-vss-mention=\"version:1.0\">@{id.DisplayName}</a>
但是升级到 TFS 2017 更新 3 无法发送有关通知的电子邮件。我们还尝试了我们可以在 TeamFoundationIdentitiy 对象上找到的所有“用户 ID”,以获取此处找到的解决方案: VSTS - uploading via an excel macro and getting @mentions to work
那么我们如何才能让@提及的电子邮件在 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> <br/>"
}
};
using (var response = client.UpdateWorkItemAsync(wi, workItemId, suppressNotifications: false))
{
response.Wait();
}
}
【问题讨论】:
-
我应该补充一点,添加到讨论中的文本似乎是添加的,就好像它是在 TFS 网络上添加的一样,一个字符一个字符,而讨论看起来好像 TFS 本身添加了提及,它仍然不发送电子邮件。
-
你的意思是@提及对@用户有效,但用户无法收到通知?如果是,请检查此线程是否有帮助:stackoverflow.com/questions/47628907/…
-
@AndyLi-MSFT 更重要的是:当服务帐户添加上述内容时,用户不会收到通知,但是当我调用相同的 REST API 调用来更新历史记录时,用户收到通知。无论哪个帐户运行,生成的历史记录都是相同的,但服务帐户将无法发送电子邮件。我正在用这个更新最初的帖子。
标签: tfs azure-devops tfs-workitem mention