Пользователь Ping (@) в комментарии Azure DevOps - PullRequest
0 голосов
/ 25 октября 2019

У меня есть метод ниже, который публикует комментарий к рабочему элементу в DevOps Azure.

Как я @ пользователь в комментарии?

В двух приведенных ниже примерах просто публикуется строка, которая @firstName lastName и не помечает пользователя.

pMessage = "@User you need to take a look at this workitem"

pMessage = "@firstName lastName <mail> you need to take a look at this workitem"

public async Task PingUser(List<int> pId, string pMessage, VssConnection pConnection)
{
    WorkItemTrackingHttpClient client = pConnection.GetClient<WorkItemTrackingHttpClient>();

    foreach (var id in pId)
    {
        await client.UpdateWorkItemAsync(
            new JsonPatchDocument()
            {new JsonPatchOperation(){
                Operation = Operation.Add,
                Value = pMessage,
                Path = "/fields/System.History",
            }}, id);
    }
}

1 Ответ

2 голосов
/ 27 октября 2019

Если вы выполните операцию Get, вы увидите нужный вам формат:

var wi = workitemClient.GetWorkItemAsync("project", id).Result;

Значение wi.Fields["System.History"]:

enter image description here

Таким образом, формат:

<a href="#" data-vss-mention="version:2.0,userid"></a>

Замените userid идентификатором пользователя, чтобы получить его, вы можете использовать Права пользователя - Список Rest API.

...