TFS 2017/2018本地部署环境下如何查询QA-2环境待部署Release列表
TFS 2017/2018 查询可部署到指定环境的Release方案
你之前调用的部署记录接口本身仅返回已触发的部署数据,查不到未部署到对应环境的Release属于正常情况,可通过以下两步实现需求:
实现逻辑
- 先查询QA-2环境最近一次成功部署的Release创建时间
- 再查询该发布定义下所有已经过QA-1验证、且创建时间晚于上述时间的Release,即为待部署列表
具体API调用步骤
第一步:获取QA-2环境最近一次成功部署记录
在原有接口基础上补充过滤参数,仅拉取最新成功部署的1条记录:
https://<server>/<project>/_apis/release/deployments?definitionId=12&definitionEnvironmentId=28&deploymentStatus=succeeded&$top=1&queryOrder=descending
从返回结果中提取两个关键值:
- 最近部署的Release创建时间:
release.createdOn - QA-1环境对应的
definitionEnvironmentId(可从现有部署记录的环境信息里获取,后续过滤会用到)
第二步:查询所有待部署到QA-2的Release列表
调用Release列表接口,补充时间、状态过滤条件:
https://<server>/<project>/_apis/release/releases?definitionId=12&$filter=createdOn gt [上一步提取的createdOn时间] and status eq 'active' and environments/any(e: e/definitionEnvironmentId eq [QA-1的环境ID] and e/status eq 'succeeded')&api-version=4.1-preview.6
注意TFS 2017/2018对应API版本使用4.x系列即可,不要使用更高版本避免兼容性问题
返回的列表即为你需要的、已在QA-1验证通过还未部署到QA-2的所有Release。
内容的提问来源于stack exchange,提问作者Serg
相关产品推荐
相关产品推荐

