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

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

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

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

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

【问题讨论】:

    标签: rest azure-devops release-management


    【解决方案1】:

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

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

    https://{instance}vsrm.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 似乎确实是通配符搜索。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2019-01-15
    • 1970-01-01
    相关资源
    最近更新 更多