Azure DevOps REST API如何获取各运行作业的代理池信息
可以通过作业维度的专用接口获取各作业对应的代理池信息
核心逻辑
- 普通build详情接口默认仅返回流水线顶层定义的pool数据,任务、阶段级接口默认也不返回作业与代理池的绑定关系,这些信息需要通过专门的作业查询接口获取。
- 作业详情的返回结构中自带
queue字段,该字段与代理池一一对应,可直接读取到池的ID、显示名称,完全不需要通过代理名称反推归属池。
操作步骤
- 先获取目标流水线运行(即build)的唯一标识ID。
- 调用该build下的作业列表查询接口,请求时指定返回参数包含
queue、agent字段。 - 遍历返回的作业列表,每个作业对象下的
queue属性就是该作业实际使用的代理池完整信息,并行作业的不同池会分别对应到各自的作业条目下。
常见注意事项
- 如果你之前调用任务接口仅能拿到代理名称,是因为任务接口默认不返回关联的池信息,需要在请求参数中追加
executionData字段,才能拿到作业与代理池的映射关系。 - 拿到代理池ID后,如果需要补充池的其他元数据,可直接调用代理池列表接口匹配对应信息即可。
内容的提问来源于stack exchange,提问作者Elliot Nelson
相关产品推荐
相关产品推荐

