谁批准了在 VSTS 中的部署?

Who approved the deployment in VSTS?

我正在使用 VSTS 部署到远程机器。在部署之前,VSTS 要求预部署批准。 是否有任何变量或任何方法来获取批准人的姓名? 我可以从历史中得到它,但为时已晚。 我知道如何获取触发部署的人的姓名

$(Release.Deployment.RequestedFor) 

Microsoft doesn't seem to mention anything

您似乎希望在部署过程中获得预部署批准。

并且预定义变量 $(Release.Deployment.RequestedFor) 不用于您的情况,因为它是变量显示创建发布的显示名称(而不是在部署前批准发布的用户)。

要获得预部署批准,您可以使用 REST API Get release:

GET https://{account}.vsrm.visualstudio.com/{project}/_apis/release/releases/{releaseId}?api-version=4.1-preview.2

对于发布 ID,您可以使用预定义变量 $( Release.ReleaseId)。您可以从响应中获得每次部署批准,如下所示:

    "preApprovalsSnapshot": {
        "approvals": [
            {
                "rank": 1,
                "isAutomated": false,
                "isNotificationOn": false,
                "approver": {
                    "displayName": "marina liu",
                    "url": "https://app.vssps.visualstudio.com/A2336cdc9-ffd7-41bb-a6cf-19002c9a9d5f/_apis/Identities/18cb43b4-0b0d-43ad-94dc-c8e2b56704c0",
                    "_links": {
                        "avatar": {
                            "href": "https://marinaliu.visualstudio.com/_apis/GraphProfile/MemberAvatars/msa.YjE2YzFlOWUtNWJkYy03NzU1LWJjNWEtNDU4M2Q5ZThlMjk0"
                        }
                    },
                    "id": "18cb43b4-0b0d-43ad-94dc-c8e2b56704c0",
                    "uniqueName": "****@****.com",
                    "imageUrl": "https://marinaliu.visualstudio.com/_api/_common/identityImage?id=18cb43b4-0b0d-43ad-94dc-c8e2b56704c0",
                    "descriptor": "msa.YjE2YzFlOWUtNWJkYy03NzU1LWJjNWEtNDU4M2Q5ZThlMjk0"
                },
                "id": 0
            }
        ],
        "approvalOptions": {
            "requiredApproverCount": null,
            "releaseCreatorCanBeApprover": true,
            "autoTriggeredAndPreviousEnvironmentApprovedCanBeSkipped": false,
            "enforceIdentityRevalidation": false,
            "timeoutInMinutes": 0,
            "executionOrder": "beforeGates"
        }
    }