如何使用Azure CLI命令获取Pull Request评审评论?解决命令报错
解决Azure DevOps CLI获取PR评审评论的问题
问题说明
已通过Azure DevOps CLI获取指定用户、时间范围及仓库内的PR列表,但尝试获取PR的评审评论时,使用az repos pr threads list、az repos pr thread list、az repos pr comment list均报错,提示命令拼写错误或未被识别,无法统计评审评论数量。
错误原因
- 未安装或更新Azure DevOps CLI的
azure-devops扩展:az repos相关命令属于扩展模块,默认环境可能未预装 - 命令语法或参数使用有误:部分试错命令名称不符合CLI规范,且旧版本扩展可能不支持部分命令
正确操作步骤
1. 安装/更新Azure DevOps扩展
先执行以下命令确保扩展已安装并更新至最新版本:
az extension add --name azure-devops az extension update --name azure-devops
2. 使用正确命令获取PR评审评论
获取PR人工评审评论的正确命令为az repos pr comment list,可通过参数筛选评论类型,避免统计系统自动生成的通知类内容:
$comments = az repos pr comment list --id $pr.pullRequestId ` --organization $organization ` --project $project ` --type "comment" ` --output json | ConvertFrom-Json
--type "comment":仅获取人工添加的评审评论,排除系统通知类内容- 若需统计所有类型评论,可移除该参数
3. 统计评论数量
获取评论列表后直接统计数量,为空时默认设为0:
$commentCount = $comments.Count ?? 0
修改后的完整脚本片段
# ... (之前获取PR列表的代码,此处省略) ... if ($prs -and $prs.Count -gt 0) { foreach ($pr in $prs) { # 获取当前PR的评审评论 $comments = az repos pr comment list --id $pr.pullRequestId ` --organization $organization ` --project $project ` --type "comment" ` --output json | ConvertFrom-Json # 统计评论数量 $commentCount = $comments.Count ?? 0 # 将评论数量加入PR信息列表 $pr | Add-Member -MemberType NoteProperty -Name "ReviewCommentCount" -Value $commentCount # 后续处理逻辑... } }
内容的提问来源于stack exchange,提问作者nuthanmurari
相关产品推荐
相关产品推荐

