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

能否通过VSTS REST API修改「新变更时重置代码评审者投票」策略选项?

解决Azure DevOps分支策略「新变更时重置评审投票」的API修改问题

嘿,我刚好碰到过类似的需求,给你说下怎么通过REST API搞定这个设置:

首先你找错地方啦——policy/types接口只是用来查看策略的元数据定义,具体的分支策略实例配置(包括你要改的重置投票选项)是在policy/configurations接口里操作的。

具体操作步骤:

  1. 获取所有代码评审策略实例
    发送GET请求到:

    GET https://<Account Domain>.visualstudio.com/<Project Name>/_apis/policy/configurations?api-version=7.1-preview.1
    

    在返回结果里筛选出type.id为fa4e907d-c16b-4a4c-9dfa-4906e5d171dd的条目(这是Azure DevOps里代码评审策略的固定ID),这些就是你要修改的目标策略。

  2. 修改目标策略的重置投票设置
    对每个筛选出来的策略实例,构造PUT请求,在settings字段里添加/修改resetVotesOnPush属性为true。请求体示例如下:

    {
      "isEnabled": true,
      "isBlocking": true,
      "type": {
        "id": "fa4e907d-c16b-4a4c-9dfa-4906e5d171dd"
      },
      "settings": {
        "requiredReviewerIds": ["<Reviewer ID>"],
        "filenamePatterns": [],
        "resetVotesOnPush": true, // 就是这个属性控制重置投票
        "requireVoteOnLastIteration": false,
        "resetCommentsOnPush": false,
        "blockingVoteCount": 1,
        "scope": [
          {
            "refName": "refs/heads/your-branch",
            "matchKind": "Exact",
            "repositoryId": "<Repo ID>"
          }
        ]
      }
    }
    
  3. 提交修改
    发送PUT请求到对应策略的配置接口:

    PUT https://<Account Domain>.visualstudio.com/<Project Name>/_apis/policy/configurations/{policyId}?api-version=7.1-preview.1
    

    把上面构造好的JSON作为请求体发送即可。

注意事项:

  • 确保使用的API版本是7.1-preview.1或更高,旧版本可能不支持resetVotesOnPush这个属性。
  • 如果策略原本没有resetVotesOnPush字段,直接添加进去并设为true就行,Azure DevOps会识别这个设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:12:25