Azure devops 缺少用于策略的Azure Devops REST API文档?

Azure devops 缺少用于策略的Azure Devops REST API文档?,azure-devops,azure-devops-rest-api,Azure Devops,Azure Devops Rest Api,我们正在为员工构建基于web的自助服务,以加快/改善每个人的DevOps体验。自助服务使用了Azure Devops REST API,大部分都可以正常工作,但在我即将实施分支策略时,由于缺乏文档(或无法找到文档),我陷入了困境 我想我已经找到了可用于创建策略配置的文档。这里只笼统地提到“设置”需要是一个作业对象,然后是各种场景的七个示例,但是如果有关于14种支持的策略类型的参考文章,那么我就错过了 我只是瞎了眼,还是微软只是不去记录如何为不同类型的配置形成作业对象 缺少用于策略的Azure D

我们正在为员工构建基于web的自助服务,以加快/改善每个人的DevOps体验。自助服务使用了Azure Devops REST API,大部分都可以正常工作,但在我即将实施分支策略时,由于缺乏文档(或无法找到文档),我陷入了困境

我想我已经找到了可用于创建策略配置的文档。这里只笼统地提到“设置”需要是一个作业对象,然后是各种场景的七个示例,但是如果有关于14种支持的策略类型的参考文章,那么我就错过了

我只是瞎了眼,还是微软只是不去记录如何为不同类型的配置形成作业对象

缺少用于策略的Azure Devops REST API文档

对我来说,我更倾向于文档没有明确指出
JObject
的内容

当我们检查REST API文档时,我们可以得到以下信息:

实际上,它只声明它的类型是一个JSON对象,没有特定的内容或示例

为了获取这个JSON对象的内容,我使用REST API获取响应体的内容,我可以得到以下响应体:

        "settings": {
            "minimumApproverCount": 2,
            "creatorVoteCounts": false,
            "allowDownvotes": false,
            "resetOnSourcePush": false,
            "requireVoteOnLastIteration": false,
            "resetRejectionsOnSourcePush": false,
            "blockLastPusherVote": false,
            "scope": [
                {
                    "refName": "refs/heads/Dev",
                    "matchKind": "Exact",
                    "repositoryId": "dcb40ef6-dae0-4e3c-b581-2f71c76e09a6"
                }
            ]
        },
因此,我们可以知道内容确实是一个JSON对象,并且由于我们设置的策略不同,它会有所不同

现在,我们回到该文档中的示例,我们可以发现有许多这样的设置,例如:

:


如果我们想设置任何其他受支持的策略类型,我们可以在UI上手动设置,然后获取相应的响应正文。

我猜他们正在对自行生成文档的API进行修饰。由于设置是一种通用的持有者,他们可能记录了一些选项和您注意到的内容。他们添加了一些选项,因此可能不完整。UI将利用这些相同的API。。。所以我通常只检查我关心的个人设置的网络流量。我认为你是对的。不过,微软的做法相当草率。
{
  "isEnabled": true,
  "isBlocking": false,
  "type": {
    "id": "fa4e907d-c16b-4a4c-9dfa-4906e5d171dd"
  },
  "settings": {
    "minimumApproverCount": 1,
    "creatorVoteCounts": false,
    "scope": [
      {
        "repositoryId": null,
        "refName": "refs/heads/master",
        "matchKind": "exact"
      }
    ]
  }
}