Azure DevOps:代表另一个用户创建评论

Vad*_* K. 3 workitem tfs-workitem azure-devops

我正在寻找一种代表另一个用户(模拟另一个用户)向工作项添加评论的方法。

        VssConnection connection = new VssConnection(new Uri(url), new VssClientCredentials());
        WorkItemTrackingHttpClient client = connection.GetClient<WorkItemTrackingHttpClient>();

        patchDocument.Add(
            new JsonPatchOperation()
            {
                Operation = Operation.Add,
                Path = "/fields/System.History",
                Value = "Sample comment 1"
            }
        );

        await client.UpdateWorkItemAsync(patchDocument, id);
Run Code Online (Sandbox Code Playgroud)

Vad*_* K. 6

要在 Azure DevOps 中的工作项上创建评论(或代表某人进行更改),您需要在补丁文档中设置System.ChangedBy字段,并使用bypassRules:true

        WorkItemTrackingHttpClient client = connection.GetClient<WorkItemTrackingHttpClient>();

        patchDocument.Add(
            new JsonPatchOperation()
            {
                Operation = Operation.Add,
                Path = "/fields/System.History",
                Value = "Sample comment 1"
            }
        );
        patchDocument.Add(
            new JsonPatchOperation()
            {
                Operation = Operation.Add,
                Path = "/fields/System.ChangedBy",
                Value = "user@onbehalfof.com" //can be valid user id (guid) or user email (domain\alias for onprem).
            });

        await client.UpdateWorkItemAsync(patchDocument, id, bypassRules:true);
Run Code Online (Sandbox Code Playgroud)

此外,为了能够设置bypassRules:true - 执行操作的身份必须具有适当的权限:“绕过工作项更新规则”