如何在Azure DevOps中查询指定发布定义对应的全部发布运行记录
Azure DevOps查询指定发布定义下全部发布运行记录的实现方法
完全可以通过Azure DevOps官方提供的REST API或者Azure CLI实现需求,具体操作步骤如下:
方法1:调用REST API实现
步骤1:获取目标发布定义的ID
调用接口前需要先通过发布定义名称获取对应的ID,调用接口如下:GET https://dev.azure.com/{组织名称}/{项目名称}/_apis/release/definitions?definitionName={发布定义名称}&api-version=7.1-preview.4
返回结果中的id字段即为该发布定义的唯一ID。
步骤2:查询该定义下所有发布运行及关联信息
调用以下接口即可获取所有关联的发布运行记录,同时直接返回关联的工作项、提交、构件信息:GET https://dev.azure.com/{组织名称}/{项目名称}/_apis/release/releases?definitionId={步骤1获取的定义ID}&$expand=artifacts,workitems,commits&api-version=7.1-preview.8$expand参数是获取关联信息的核心,传入artifacts、workitems、commits三个枚举值后,接口才会在返回结果中附带你需要的工作项、提交记录内容,无需二次调用其他接口
返回结果对应字段说明:
- 所有发布运行的版本号(如示例中的test-1、test-2、test-3):对应
value[].name字段 - 关联工作项列表:对应
value[].workItems数组,包含工作项ID、标题、类型、状态等信息 - 关联代码提交记录:对应
value[].commits数组,包含提交ID、提交说明、提交人、提交时间等信息 - 关联构件信息(如示例中的apple构件):对应
value[].artifacts数组
方法2:通过Azure DevOps CLI实现(更适合自动化脚本场景)
如果需要用脚本批量拉取生成发布说明,用CLI工具操作更简便:
- 先安装Azure CLI以及Azure DevOps扩展,完成身份认证
- 执行以下命令获取目标发布定义的ID:
az pipelines release definition list --name "test" --org "https://dev.azure.com/你的组织名称" --project "你的项目名称" --query "[0].id" -o tsv - 执行以下命令拉取所有发布运行及关联信息:
az pipelines release list --definition-id 步骤2获取的定义ID --expand all --org "https://dev.azure.com/你的组织名称" --project "你的项目名称"
注意事项
- 无论是调用API还是使用CLI,都需要提前配置具备发布管理读取权限的身份凭证(API用个人访问令牌PAT,CLI用az login登录授权即可)
- 接口默认单次最多返回100条记录,如果发布运行总数量超过100条,需要通过返回结果中的
continuationToken参数分页拉取全量数据 - 可额外添加
statusFilter参数过滤特定状态的发布记录,比如仅拉取部署成功的发布记录
内容的提问来源于stack exchange,提问作者Spartan87
相关产品推荐
相关产品推荐

