谁批准了VSTS的部署?

时间:2018-06-01 10:38:41

标签: deployment azure-devops azure-pipelines-release-pipeline

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

$(Release.Deployment.RequestedFor) 

Microsoft doesn't seem to mention anything

1 个答案:

答案 0 :(得分:1)

您似乎希望在部署期间获得部署前批准。

预定义变量$(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"
        }
    }