无法在Visual Studio/DevOps中关闭代码评审响应工作项求助
问题描述
在DevOps/Visual Studio中关闭代码评审响应工作项时,出现**“Closed Status字段不能为空”**的错误,无法完成关闭操作。同时该字段在Visual Studio和DevOps界面中均不可编辑:


需求:不通过Excel编辑“Closed Status”字段,寻求更简便的解决思路。
解决思路
- 检查工作项状态转换规则:联系项目管理员,进入Azure DevOps的「项目设置」→「Boards」→「工作项类型」,找到对应代码评审响应的工作项类型,编辑其状态转换规则(比如从“Active”到“Closed”的转换),添加自动设置
Closed Status字段默认值的配置,确保关闭操作时系统自动填充该字段。 - 使用Azure DevOps CLI快速更新:安装并登录Azure DevOps CLI后,执行以下命令直接更新工作项字段:
替换az boards work-item update --id <你的工作项ID> --fields "Closed Status=Completed"<你的工作项ID>为实际ID,Completed可根据团队规范替换为合适的状态值(如“Resolved”)。 - 调用Azure DevOps REST API更新:通过PowerShell或其他工具调用API批量或单个更新工作项,示例PowerShell脚本如下:
# 替换为你的PAT令牌、组织名、项目名和工作项ID $patToken = "your_pat_token_here" $orgName = "your_organization" $projectName = "your_project" $workItemId = "1234" $base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$patToken")) $apiUrl = "https://dev.azure.com/$orgName/$projectName/_apis/wit/workitems/$workItemId?api-version=7.1-preview.3" $patchBody = '[ { "op": "add", "path": "/fields/System.ClosedStatus", "value": "Completed" } ]' Invoke-RestMethod -Uri $apiUrl -Method Patch -Headers @{Authorization="Basic $base64Auth"} -ContentType "application/json-patch+json" - 检查字段权限与可见性配置:让项目管理员确认
Closed Status字段在工作项的关闭状态布局中是否被设置为隐藏,或者是否存在权限限制导致无法编辑。若为配置问题,调整布局或权限后即可在界面直接编辑。
内容的提问来源于stack exchange,提问作者Sindu_
相关产品推荐
相关产品推荐

