如何用Kusto查询从ADO经典发布中获取构建URL与发布URL
用Kusto查询Azure DevOps经典发布的构建URL和发布URL
你之前查询的都是Build相关表,但经典发布的元数据并不存储在Build系列表中,而是在Release专属的表集合里,这是找不到目标URL的核心原因。
关键表说明
Release:存储发布的核心元数据,包括发布ID、定义ID、创建时间等ReleaseArtifact:关联发布与对应的构建,包含构建ID、构建定义ID等关键关联信息
查询实现代码
let orgname = "orgname"; let projectname = "team"; let daysBack = 30d; let startDate = now() - daysBack; // 关联发布与构建信息,生成URL Release | where OrganizationName == orgname | where ProjectName == projectname | where CreatedDate >= startDate | join kind=inner ( ReleaseArtifact | where OrganizationName == orgname | where ProjectName == projectname | extend BuildId = tostring(Data.buildId) | extend BuildDefinitionId = tostring(Data.definitionId) ) on ReleaseId // 拼接标准格式的发布URL和构建URL | extend ReleaseUrl = strcat("https://", orgname, ".visualstudio.com/", ProjectName, "/_release?_a=releases&releaseId=", ReleaseId, "&definitionId=", DefinitionId) | extend BuildUrl = strcat("https://", orgname, ".visualstudio.com/", ProjectName, "/_build?buildId=", BuildId, "&definitionId=", BuildDefinitionId) // 筛选展示核心字段 | project ReleaseName, ReleaseId, ReleaseUrl, BuildName, BuildId, BuildUrl, CreatedDate | take 100
说明
- 发布URL严格按照你给出的格式拼接,通过组织名、项目名、发布ID和定义ID生成
- 构建URL通过ReleaseArtifact中关联的构建标识信息生成,可直接跳转至对应的构建详情页
- 若需要补充构建的更多细节(如构建状态、触发方式等),可在此基础上关联
Build表扩展字段
内容的提问来源于stack exchange,提问作者Prakash
相关产品推荐
相关产品推荐

