Azure devops Azure devops:检查其他版本的发布状态
我有一个在X环境中发布的版本a。 另一方面,我有一个发布在环境Y中的版本B 问题是我想知道我是否可以在版本B中检查版本A的状态,这样我就可以抛出一个错误而不发布版本B 我不知道是否可以用powershell或类似的工具来实现这一点Azure devops Azure devops:检查其他版本的发布状态,azure-devops,Azure Devops,我有一个在X环境中发布的版本a。 另一方面,我有一个发布在环境Y中的版本B 问题是我想知道我是否可以在版本B中检查版本A的状态,这样我就可以抛出一个错误而不发布版本B 我不知道是否可以用powershell或类似的工具来实现这一点 有什么想法或方向吗?使用Azure DevOps REST API的PowerShell脚本是最好的选择。你的问题有点奇怪 您需要找到版本A和环境Y的定义ID。找到这些值的最佳位置是在环境Y中版本A部署的“初始化作业”任务的日志输出中。查找变量release_DEFI
有什么想法或方向吗?使用Azure DevOps REST API的PowerShell脚本是最好的选择。你的问题有点奇怪 您需要找到版本A和环境Y的定义ID。找到这些值的最佳位置是在环境Y中版本A部署的“初始化作业”任务的日志输出中。查找变量release_DEFINITIONID和release_ENVIRONMENTID 假设Azure管道采用“经典”模式(不基于YAML):
可选地,如果这个版本依赖于另一个版本,它们需要作为一个单元一起部署——为什么不考虑将多个工件添加到发行版中并作为单个发行版部署呢?
它应该与BraybCKoE的解决方案一起解决。如果有效的话,你可以试着把bryanbcook的回复标记为答案。非常感谢。我不能添加多个工件,因为体系结构更复杂。param()
$auth = "Bearer {0}" -f $env:SYSTEM_ACCESSTOKEN
$url = "https://{0}{1}" -f $env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI $env:SYSTEM_TEAMPROJECTID
$url += "/release/deployments?definitionId=" + $your_release_definition_id
$url += "&definitionEnvironmentId=" + $your_environment_definition_id
$url += "&deploymentStatus=succeeded"
$url += "&queryOrder=descending"
$url += "&api-version=5.0"
$releaseA = Invoke-WebRequest $url -Headers @{Authorization=($authHeader)} | ConvertFrom-Json