You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API获取各环境活跃版本所基于的分支名称?

获取发布流水线各环境活跃版本分支名的API方案

场景背景

我们为每个组件配置了独立的发布流水线,用于将构建产物部署至多个环境(每个环境对应流水线的一个阶段)。由于并非每次都会部署所有环境,各环境当前活跃版本对应的分支可能存在差异(例如DEV环境对应Release-002、SIT环境对应Release-001、TEST环境对应Release-010),需要通过API获取每个环境的活跃版本分支名称。

Azure DevOps 下的具体实现(主流流水线工具示例)

1. 获取目标流水线的所有环境ID

调用Environments - List接口,获取该流水线对应的所有环境信息及ID:

GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/environments?definitionId={releaseDefinitionId}&api-version=7.1-preview.1

参数说明:

  • {organization}:你的Azure DevOps组织名称
  • {project}:所属项目名称
  • {releaseDefinitionId}:发布流水线的定义ID(可从流水线页面URL中提取)

2. 获取单个环境的最新成功发布记录

针对每个环境ID,调用Releases - List接口筛选出该环境下最新的成功发布(即当前活跃版本):

GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?definitionId={releaseDefinitionId}&environmentId={environmentId}&status=succeeded&$top=1&api-version=7.1-preview.8

参数说明:

  • {environmentId}:步骤1中获取的目标环境ID
  • status=succeeded:仅筛选已成功完成部署的发布记录
  • $top=1:只返回最新的一条记录

3. 提取分支名称

在返回的JSON数据中,定位到artifacts数组下对应构建产物的sourceBranch字段,该字段值即为该环境活跃版本对应的分支名称。

其他流水线工具的参考方案

  • Jenkins:通过Jenkins REST API(如/job/{jobName}/lastSuccessfulBuild/api/json)获取最新成功构建的信息,结合发布插件的环境关联数据提取分支名;部分第三方插件也提供直接的环境分支查询接口。
  • GitLab CI/CD:调用GET /projects/:id/releases接口,通过环境标签(environment字段)筛选对应环境的最新发布,从发布关联的构建信息中提取分支名称。

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:13:00