如何使用azure-devops-extension-api获取当前版本的管道ID?有什么方法可以在当前版本的页面上获取管道ID?
答案 0 :(得分:0)
您可以使用Azure Devops API,
List Definitions
获取所有最新版本,然后Get Definition
提取详细信息
答案 1 :(得分:0)
如何在azure devops扩展api中获取当前版本的管道ID
azure-devops-extension-api程序包提供了一个类ReleaseRestClient,其中包括用于获取发布列表的方法getReleases:
function getReleases(project?: string, definitionId?: number, definitionEnvironmentId?: number, searchText?: string, createdBy?: string, statusFilter?: ReleaseStatus, environmentStatusFilter?: number, minCreatedTime?: Date, maxCreatedTime?: Date, queryOrder?: ReleaseQueryOrder, top?: number, continuationToken?: number, expand?: ReleaseExpands, artifactTypeId?: string, sourceId?: string, artifactVersionId?: string, sourceBranchFilter?: string, isDeleted?: boolean, tagFilter?: string[], propertyFilters?: string[], releaseIdFilter?: number[], path?: string)
我们可以提供参数project
,definitionId
来获取当前版本的管道ID。
答案 2 :(得分:0)
我希望您正在寻找在特定阶段成功部署的当前管道ID。假设您在开发阶段将命令作为任务的一部分运行,并且在开发阶段需要成功部署的最新管道ID。
有两种获取当前版本ID的方法:
代码段:
releases = r_client_v4_1.get_release_definition(project='XXXXX', definition_id=id)
for env in releases.environments:
if env.name == "dev":
print(env.additional_properties["currentRelease"]["id"])
问题是,即使使用活动的运行发行版,currentRelease也将得到更新。在发布管道中运行此脚本时,当前部署的发布将列为当前发布。如果需要成功部署的发行ID,则可以使用第二种方法。
代码段:
history = r_client_v4_1.get_deployments(project="XXXXX", definition_id=release_definition_id,
definition_environment_id=release_env_definition_id,
deployment_status="Succeeded", latest_attempts_only=True, top=1)
rel_ids.append(str(history[0].release.id))
这将为您提供当前成功部署的发行版ID。
注意:代码使用azure-devops库在python中
最近,我遇到了类似的情况,试图找出部署期间当前部署版本与当前部署版本之间的变化增量。