【问题标题】:Azure Devops REST API documentation for policies is missing?缺少有关策略的 Azure Devops REST API 文档?
【发布时间】:2020-11-30 15:20:46
【问题描述】:

我们正在为员工构建基于 Web 的自助服务,以加快/改善每个人的 DevOps 体验。自助服务使用 Azure Devops REST API,其中大部分工作正常,但当我即将实施分支策略时,我因缺少文档(或找不到文档)而陷入困境。

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

我只是瞎了眼,还是微软只是懒得记录如何为不同类型的配置形成 JObject?

【问题讨论】:

  • 我的猜测是他们正在对自生成文档的 API 进行装饰。由于设置是一种通用的持有人,他们可能会用您所记录的内容记录一些选项。他们添加了一些选项,所以可能不完整。 UI 将利用这些相同的 API ...所以我通常只检查我关心的各个设置的网络流量。
  • 我认为你是对的。不过,这对微软来说很草率。

标签: azure-devops azure-devops-rest-api


【解决方案1】:

缺少有关策略的 Azure Devops REST API 文档?

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

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

确实,它只是声明它的类型是一个JSON对象,没有具体的内容和例子。

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

        "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 对象,并且由于我们设置的策略不同,它会有所不同。

现在,我们回到那个文档中的示例,我们可以发现有很多这样的settings,比如:

Approval count policy:

{
  "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"
      }
    ]
  }
}

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

【讨论】:

  • 虽然我不喜欢,但这似乎是答案。有什么办法可以开票到微软来处理这个问题?
猜你喜欢
  • 1970-01-01
  • 2021-06-08
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多