如何通过VSTS REST API按名称获取发布定义?name参数失效咨询
按发布定义名称获取VSTS/Azure DevOps发布定义的正确方法
你碰到的这个问题其实挺普遍的——旧版的VSTS REST API(比如你用的4.0-preview.3)里,直接用name查询参数确实会被忽略。要在不知道发布ID的情况下按名称获取发布定义,正确的做法是改用OData的$filter查询参数,同时建议使用较新的API版本来保证功能支持。
正确的请求格式
发送GET请求到以下URL(替换占位符为你的实际信息):
https://{instance}.vsrm.visualstudio.com/{project}/_apis/release/definitions?api-version=7.1-preview.4&$filter=name eq '{definition name}'
参数说明
{instance}:替换为你的Azure DevOps组织实例(比如dev.azure.com/your-org-name){project}:目标项目的名称或ID{definition name}:你要查找的发布定义的准确名称,如果名称包含空格或特殊字符,记得要做URL编码(比如空格换成%20)
进阶技巧
如果需要忽略名称的大小写匹配,可以调整$filter条件:
$filter=tolower(name) eq tolower('{definition name}')
响应说明
请求成功后,会返回一个包含匹配发布定义的数组。如果你的项目里没有重名的发布定义,数组里的第一个元素就是你要找的目标定义,里面包含发布ID、配置信息等所有你需要的内容。
内容的提问来源于stack exchange,提问作者cdarrigo
相关产品推荐
相关产品推荐

