VSTS REST API 按名称获取 ReleaseDefinition

Posted

技术标签:

【中文标题】VSTS REST API 按名称获取 ReleaseDefinition【英文标题】:VSTS REST API Get ReleaseDefinition by name 【发布时间】:2018-03-07 16:59:54 【问题描述】:

如何通过发布定义名称从 VSTS Rest API 获取发布定义?

当我从 GET 时忽略名称查询字符串参数

https://instancevsrm.visualstudio.com/project/_apis/release/definitions?api-version=4.0-preview.3&name=定义名称

当我不知道版本 ID 时,我需要一种方法来获取版本。

【问题讨论】:

【参考方案1】:

根据docs,您可以使用searchText 参数:可选。获取名称以 searchText 开头的版本定义

我很快尝试了,它适用于这个查询:

https://instancevsrm.visualstudio.com/project/_apis/release/definitions?api-version=4.0-preview.3&searchText=definitionName

但是,如果您有多个以该字符串开头的定义,您可能会得到多个定义。

编辑:我刚刚看到,除此之外,您还可以指定 isExactNameMatch 参数。'true' 以准确获取发布定义与 searchText 中指定的匹配。默认为“假”。

【讨论】:

我想我在阅读文档时错过了这一点。那是为了指出这一点。它远不如构建定义 api 直观。 在 TFS 2018 U2 中,searchText 参数没有像文档所说的那样过滤(参数 isExactNameMatch 默认/false)。据我所知,它似乎忽略了下划线,而且它更像是通配符搜索而不是开头......因此,针对预期名称“Main_REL”搜索 REL_ 它会返回定义。针对该名称搜索“REL_”和“_REL_”也会返回定义。但是搜索“RE_L”失败了。我认为 searchText 参数中的下划线字符在内部被转换为一些奇怪的字符......请注意;) 啊哈!为了澄清我上面评论的问题:link here 下划线是由于 MSSQL LIKE 关键字行为。因此 searchText 似乎确实是通配符搜索。

以上是关于VSTS REST API 按名称获取 ReleaseDefinition的主要内容,如果未能解决你的问题,请参考以下文章

VSTS:如何使用 REST API 获取由构建触发的发布 ID

VSTS REST API - GIT - 分支是不是存在?

如何在 VSTS 仪表板小部件中使用 REST API 从 TFS 获取构建定义?

使用 VSTS REST API 创建带有标题的版本

VSTS REST API 缓存

VSTS API REST无法正确下载源