鉴于已知的buildDefinitionId,我正在尝试确定依赖于构建输出的(一个或多个)发布定义。
指出可以以artifactSourceId
格式传递{projectGuid}:{BuildDefinitionId}
参数,但是当我尝试传递此参数时,会得到指定项目的每个版本定义。
使用网址:https://vsrm.dev.azure.com/my-company/d4155bbc-d85f-4aaf-9a8e-0ba70272cca4/_apis/release/definitions?artifactSourceId=d4155bbc-d85f-4aaf-9a8e-0ba70272cca4:950&api-version=5.0
在我的项目中,我获得了553个构建定义的列表。在响应主体中搜索工件密钥d4155bbc-d85f-4aaf-9a8e-0ba70272cca4:950
({projectGuid}:{buildDefinitionId}),可以得到如下所示的2个预期结果:
"artifacts": [
{
"sourceId": "d4155bbc-d85f-4aaf-9a8e-0ba70272cca4:950",
"type": "Build",
"alias": "my-build-definition",
// more fields here
}
]
奇怪的是,如果我不传递artifactSourceId
参数,则响应中根本不会得到任何人工数据-包括当我指定$expand=artifact
参数时-但我可以指定{ {1}},它仍然会返回所有版本定义的列表。
这似乎是api的一个错误,但是如果有人有任何见解或解决方法,我将不胜感激。
答案 0 :(得分:1)
您需要使用参数$expand=artifacts
(而不是$expand=artifact
)来扩展工件细节。
关于参数artifactSourceId
,您需要一起使用参数artifactType
和artifactSourceId
来过滤具有给定artifactSourceId的发行版定义。