为了账号安全,请及时绑定邮箱和手机立即绑定

TFS 在讨论中添加评论

TFS 在讨论中添加评论

C#
喵喔喔 2021-10-09 16:13:04
我正在从 LeanKit 迁移卡片,我需要在 TFS 上的卡片讨论中添加评论。如何以其他用户身份向 WorkItem 添加编程注释?是否可以?我发现仅通过 History 属性添加评论,但作为登录用户。
查看完整描述

2 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

默认情况下,我们只能通过登录用户添加评论。


但是,您可以使用 REST API 将评论添加到与另一个用户的讨论中,以更新启用System.ChangedBy字段的值bypassRules:


以下样本供您参考:


Param(

   [string]$baseurl = "http://server:8080/tfs/DefaultCollection",

   [string]$projectName = "ProjectName",

   [string]$workitemID = "26",

   [string]$user = "username",

   [string]$token = "token/Password"

)


# Base64-encodes the Personal Access Token (PAT) appropriately

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

write-host $WorkitemType


function CreateJsonBody

{


    $value = @"

[

  {

    "op": "add",

    "path": "/fields/System.History",

    "value": "Comment here"

  },

  {

    "op": "add",

    "path": "/fields/System.ChangedBy",

    "value": "user@oxxx.com"

  }

]

"@


 return $value

}


$json = CreateJsonBody


$uri = "$baseurl/$($projectName)/_apis/wit/workitems/$($workitemID)?bypassRules=true&api-version=2.2"

Write-Host $uri

$result = Invoke-RestMethod -Uri $uri -Method Patch -Body $json -ContentType "application/json-patch+json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}

"value": "user@oxxx.com" 可以是其他用户的有效用户 ID (guid) 或用户电子邮件。


查看完整回答
反对 回复 2021-10-09
?
郎朗坤

TA贡献1921条经验 获得超9个赞

仅当您使用他的凭据登录时,您才能以其他用户的身份向讨论添加评论:


NetworkCredential cred = new NetworkCredential("anotherUserName", "password");

TfsTeamProjectCollection _tfs = new TfsTeamProjectCollection(new Uri("serverUrl"), cred);

_tfs.EnsureAuthenticated();

在您像其他用户一样进行身份验证后,您将文本添加到“历史记录”字段,您将在讨论中看到作为其他用户登录的文本。


查看完整回答
反对 回复 2021-10-09
  • 2 回答
  • 0 关注
  • 186 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信