0

我正在编写脚本以从 Azure DevOps 为选定的 Azure DevOps 部署组和选定的目标机器进行部署

以下使用的 rest api url 未提供所需的数据 -

$connectionToken = ""

$Url1 = "https://dev.azure.com/{Org Name}{Project Name}/_apis/distributedtask/deploymentgroups? 
name={name}&api-version=6.0-preview.1"

$base64AuthInfo= 
[System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))

$json = Invoke-RestMethod -Uri $Url1 -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get

$data = $json | ConvertTo-Json -Depth 100 

$data

为了获取所需的数据,我需要做哪些 rest api url 更改?

4

1 回答 1

1

为了获取所需的数据,我需要做哪些 rest api url 更改?

您可以尝试以下 URL 来获取部署作业:

https://dev.azure.com/{OrganizationName}/{ProjectName}/_apis/distributedtask/deploymentgroups/{DeployGroup ID}/deploymentTargetJobRequests?targetId={TargetMachineID}&api-version=6.1-preview.1

您可以在 Azure Devops url 中获取deploygroup idand :target machine id

在此处输入图像描述

mgid =deploygroup id机器ID = target machine id.

这是 Powershell 示例:

$connectionToken = "PAT"

$Url1 = "https://dev.azure.com/{OrganizationName}/{ProjectName}/_apis/distributedtask/deploymentgroups/{DeployGroup ID}/deploymentTargetJobRequests?targetId={TargetMachineID}&api-version=6.1-preview.1"

$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))

$json = Invoke-RestMethod -Uri $Url1 -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get

$data = $json | ConvertTo-Json -Depth 100 

$data

结果:

在此处输入图像描述

于 2020-11-18T06:57:17.007 回答