我想在不登录 Azure DevOps 项目的情况下验证是否使用 PowerShell 执行了发布管道。如何测试这个?是否也可以像使用 PowerShell 成功或失败一样获取 Release 的输出?
答案 0 :(得分:0)
您可以使用 az 命令:
使用 pat (Sign in with a Personal Access Token (PAT)) 登录您的组织:
az devops login --organization https://dev.azure.com/org_name
az pipelines release definition list --org https://dev.azure.com/org_name -p ProjectName --output table
ID Name CreatedBy Created On
---- ------------------------ ----------------- --------------------------------
2 New release pipeline (3) UserName 2019-09-26T15:42:59.613000+00:00
3 New release pipeline UserName 2019-10-08T07:48:21.457000+00:00
4 New release pipeline (1) UserName 2019-11-19T19:04:40.523000+00:00
5 New release pipeline (2) UserName 2020-07-23T14:13:08.953000+00:00
az pipelines release list --definition-id 5 --org https://dev.azure.com/org_name -p ProjectName --output table
ID Name Definition Name Created By Created On Status Description
---- --------- ------------------------ ----------- -------------------------- -------- -------------
177 Release-6 New release pipeline (2) UserName 2020-12-22 19:28:06.610000 active Triggered by
176 Release-5 New release pipeline (2) UserName 2020-12-21 18:29:51.930000 active Triggered by
175 Release-4 New release pipeline (2) UserName 2020-12-18 12:52:04.610000 active Triggered by
174 Release-3 New release pipeline (2) UserName 2020-11-11 02:02:32.653000 active Triggered by
az pipelines release show --id 177 --org https://dev.azure.com/org_name -p ProjectName --output table
ID Name Definition Name Created By Created On Status Description
---- --------- ------------------------ ----------------- -------------------------- -------- -------------
177 Release-6 New release pipeline (2) UserName 2020-12-22 19:28:06.610000 active Triggered by
另外,你可以使用--output
参数来获取json格式的结果,然后你会得到更详细的信息。
答案 1 :(得分:0)
我想在不登录 Azure DevOps 项目的情况下验证是否使用 PowerShell 执行了发布管道。
如果您想验证是否使用 PowerShell 执行了发布管道,以下脚本可以实现这一点。
$url = "https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/definitions?api-version=6.0"
$connectionToken="PAT Here" #input your PAT
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$pipelines = Invoke-RestMethod -Uri $url -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get
Write-Host "Pipeline = $($pipelines | ConvertTo-Json -Depth 100)" #list all release pieplines
$new_url = https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?definitionId={definitionId}&api-version=6.0
$releases = Invoke-RestMethod -Uri $new_url -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get
Write-Host "releases = $($releases | ConvertTo-Json -Depth 100)"