【问题标题】:Getting @Mention to work with a TFS Extension on TFS 2017.3让@Mention 在 TFS 2017.3 上使用 TFS 扩展
【发布时间】: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>&nbsp; <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


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 2018-01-01
  • 1970-01-01
  • 2012-04-06
  • 2018-11-23
  • 1970-01-01
  • 2015-04-24
  • 2016-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多