首页 > 解决方案 > 在发布定义 YAML 中查找 Azure DevOps 发布定义服务连接

问题描述

我正在构建一个报告来总结 Azure DevOps 中的发布定义。此报告将执行各种检查以确定发布定义的健康状况。我要实施的一项检查是确定部署阶段设置为的 Azure 服务连接是否仍然有效。

目前,我能够检索发布定义的 YAML,但发布实例似乎都没有表明正在使用的特定服务连接。我正在使用的 PowerShell 命令是:

az pipelines release definition show
az pipelines release show

返回的 YAML 有几个节点,例如,deployPhases, deploySteps, releaseDeployPhases, deploymentJobs对于为服务连接配置的发布定义,我在发布定义或指示正在使用哪个服务连接的实例中看不到任何信息。

YAML 与服务连接信息最接近的是对变量的引用,例如$(ConnectedServiceName) and $(Parameters.ConnectedServiceName).

我也无法在 Azure CLI 或 Rest API 文档中找到有关如何查找发布定义的服务连接的任何信息。我检查的文档是:

YAML 架构:https ://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema

Azure-DevOps (Azure CLI):https ://docs.microsoft.com/en-us/cli/azure/ext/azure-devops/?view=azure-cli-latest

是否可以根据为发布定义或发布实例返回的 YAML 查询 CLI 并检索服务连接信息?

标签: azureazure-devopsazure-powershellazure-pipelines-release-pipelineazure-cli

解决方案


服务连接存储在 Azure DevOps 项目级别,因此您可以从 DevOps Rest API 中检索它们:

GET https://dev.azure.com/{organization}/{project}/_apis/serviceendpoint/endpoints?api-version=5.1-preview.2

更多信息,请访问https://docs.microsoft.com/en-us/rest/api/azure/devops/serviceendpoint/endpoints/get%20service%20endpoints?view=azure-devops-rest-5.1


推荐阅读