获取有关 azure DevOps 环境的审批和检查的信息

问题描述 投票:0回答:1

为了验证对 Azure DevOps 环境的保护是否设置正确,我们希望构建计划的自动检查。

但是描述环境的REST api似乎没有提供任何有关批准和检查的信息,有没有办法以编程方式获得Azure DevOps环境的分支控制和其他保护?

REST-api-文档

REST API 调用的输出示例:

{
    "id": 123,
    "name": "BranchFilter",
    "description": "Deploy DEV for subscription XXX",
    "createdBy": {
        "displayName": "Name Name",
        "url": "https://etcetc",
        "_links": {
            "avatar": {
                "href": "https://dev.azure.com/org/prj/_apis etcetc"
            }
        },
        "id": "someid",
        "uniqueName": "uniquename",
        "imageUrl": "https://dev.azure.com/etc",
        "descriptor": "something"
    },
    "createdOn": "2024-02-28T12:00:00.0000000Z",
    "lastModifiedBy": {
        "displayName": "Name",
        "url": "https://etcetc",
        "_links": {
            "avatar": {
                "href": "https://dev.azure.com/etcetc"
            }
        },
        "id": "someid",
        "uniqueName": "uniquename",
        "imageUrl": "https://dev.azure.com/etcetc",
        "descriptor": "something"
    },
    "lastModifiedOn": "2024-02-28T12:01:01.00Z",
    "project": {
        "id": "someid",
        "name": null
    }
}

此输出不显示有关门户中可见的现有分支控制的任何内容:

azure azure-devops azure-cli azure-devops-rest-api
1个回答
0
投票

要获取有关某个环境的“批准和检查”的信息,您可以使用 REST API 检查配置 - 列表

GET https://dev.azure.com/{organization}/{project}/_apis/pipelines/checks/configurations?resourceType={resourceType}&resourceId={resourceId}&api-version=7.1-preview.1

将以下参数替换为您的实际值。

  • 组织:Azure DevOps 组织的名称。
  • 项目:项目ID或项目名称
  • 资源类型:环境
  • resourceId:资源 ID

可以看到类似下面的信息。

{
    "count": 3,
    "value": [
        {
            ...
            "id": 47,
            "version": 2,
            "type": {
                "id": "fe1de3ee-a436-41b4-bb20-f6eb4cb879a7",
                "name": "Task Check"
            },
            ...
            "resource": {
                "type": "environment",
                "id": "***",
                "name": "DEV"
            }
        },
        {
            ...
            "id": 48,
            "version": 1,
            "type": {
                "id": "8c6f20a7-a545-4486-9777-f762fafe0d4d",
                "name": "Approval"
            },
            ...
        },
        {
            ...
            "id": 50,
            "version": 1,
            "type": {
                "id": "2ef31ad6-baa0-403a-8b45-2cbc9b4e5563",
                "name": "ExclusiveLock"
            },
            ...
        }
        ...
    ]
}
© www.soinside.com 2019 - 2024. All rights reserved.