You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置规则:关闭Story工作项必须关联父级Feature

解决Story关闭时必须关联父级Feature的自动检测方案

方案一:Azure DevOps原生工作项规则配置

这是最直接的官方解决方案,无需额外工具:

  1. 进入项目设置 → 工作项类型 → 选中「Story」工作项类型 → 打开「规则」标签页
  2. 点击「新建规则」,选择触发条件为当状态更改为Closed
  3. 添加「必填链接」规则,选择链接类型为「父级(Parent)」,并可进一步限制链接目标的工作项类型为「Feature」
  4. 保存规则后,用户尝试关闭未关联父级Feature的Story时,系统会直接拦截并提示必须添加父级链接

方案二:Pipeline自动校验与修正

如果需要批量检查或自定义处理逻辑,可以用Pipeline脚本实现:

  • 创建定时触发或事件触发的Pipeline(比如监听工作项状态变更事件)
  • 使用Azure DevOps REST API查询违规的Story,示例PowerShell脚本如下:
    $orgUrl = "https://dev.azure.com/你的组织名"
    $projectName = "你的项目名"
    $pat = "你的个人访问令牌(PAT)"
    
    # 构造WIQL查询,筛选已关闭无父级的Story
    $queryBody = @{
        query = @"
    SELECT [System.Id], [System.Title], [System.State] 
    FROM WorkItems 
    WHERE [System.WorkItemType] = 'User Story' 
      AND [System.State] = 'Closed' 
      AND [System.Parent] = ''
    "@
    } | ConvertTo-Json
    
    $headers = @{Authorization = "Basic $([Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$pat")))"}
    $response = Invoke-RestMethod -Uri "$orgUrl/$projectName/_apis/wit/wiql?api-version=7.1-preview.2" -Method Post -Headers $headers -Body $queryBody -ContentType "application/json"
    
    # 处理结果:输出违规项、自动改回状态或发送通知
    if ($response.workItems.Count -gt 0) {
        Write-Host "违规Story列表(已关闭未关联父级Feature):"
        foreach ($item in $response.workItems) {
            Write-Host "ID: $($item.id) | 标题: $($item.fields.'System.Title')"
            # 可选:自动将状态恢复为Active
            # $updateBody = @{fields = @{"System.State" = "Active"}} | ConvertTo-Json
            # Invoke-RestMethod -Uri "$orgUrl/$projectName/_apis/wit/workitems/$($item.id)?api-version=7.1-preview.3" -Method Patch -Headers $headers -Body $updateBody -ContentType "application/json-patch+json"
        }
    }
    

方案三:Marketplace扩展辅助

如果不想手动配置规则或写脚本,可以在Azure DevOps Marketplace中搜索合规性类扩展(如「Work Item Validator」),这类工具支持可视化配置链接规则,自动校验工作项状态变更时的链接合规性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 21:55:05