0

我正在尝试以编程方式在工作项的讨论区域中添加对 TFS 中组成员的用户的提及。我们成功使用了 1.0 版本和 TFS 2017 update 2:

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

但是,升级到 TFS 2017 更新 3 无法在通知中发送电子邮件。我们还尝试了我们可以在 TeamFoundationIdentitiy 对象上找到的所有“用户 ID”,用于此处找到的解决方案: VSTS - 通过 excel 宏上传并让 @提及工作

那么我们如何才能让@提及的电子邮件在 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();
    }
}
4

1 回答 1

0

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

于 2018-09-11T17:49:28.160 回答