You need to enable JavaScript to run this app. 如何在Azure DevOps中查询我发布的含指定文本的用户故事/任务评论
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps中查询我发布的含指定文本的用户故事/任务评论

Azure DevOps 按自身发布的评论内容筛选方案

一、查询编辑器原生支持说明

原生的Azure DevOps工作项查询编辑器不支持直接按评论发布者筛选。查询编辑器中的「History」字段仅存储合并后的全量变更、评论文本,未将评论发布者作为独立的可筛选维度,仅通过内置字段无法同时实现“评论发布者为自己+包含指定文本”的过滤需求。
Azure DevOps查询编辑器界面

二、REST API 实现方案

通过Azure DevOps官方的工作项评论接口可以精准实现需求,操作步骤如下:

  • 前置准备:先用查询编辑器筛选出所有工作项类型为「用户故事(User Story)」和「任务(Task)」的工作项,导出ID列表。
  • 调用工作项评论查询接口,接口格式为:GET https://dev.azure.com/{组织名称}/{项目名称}/_apis/wit/workItems/{工作项ID}/comments?api-version=7.1-preview.3
  • 对返回结果做两层过滤:
    1. 评论发布者字段createdBy.uniqueName与你的Azure DevOps账号邮箱一致
    2. 评论文本字段text包含你要搜索的特定内容
  • 汇总所有符合条件的评论,关联对应工作项即可查看完整上下文

批量查询示例代码(PowerShell)

# 基础配置
$organization = "你的组织名"
$project = "你的项目名"
$pat = "你的个人访问令牌"
$searchText = "待搜索的特定文本"
$userEmail = "你的Azure DevOps账号邮箱"
# 替换为你导出的工作项ID列表
$workItemIdList = @(1001, 1002, 1003)

# 生成认证头
$authToken = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat"))
$headers = @{
    Authorization = "Basic $authToken"
}

# 遍历查询所有工作项的评论
foreach ($wiId in $workItemIdList) {
    $requestUri = "https://dev.azure.com/$organization/$project/_apis/wit/workItems/$wiId/comments?api-version=7.1-preview.3"
    $response = Invoke-RestMethod -Uri $requestUri -Headers $headers -Method Get
    
    $matchComments = $response.value | Where-Object {
        $_.createdBy.uniqueName -eq $userEmail -and $_.text -match [regex]::Escape($searchText)
    }

    if ($matchComments) {
        Write-Host "=== 工作项 $wiId 下找到匹配评论 ==="
        $matchComments | ForEach-Object {
            Write-Host "评论内容:$($_.text)`n"
        }
    }
}

注意:生成个人访问令牌(PAT)时,仅需要授予「工作项(Work Items)」的读取权限即可正常调用接口。

内容的提问来源于stack exchange,提问作者sashoalm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 20:51:02