azure-devops - 使用 azure-pipeline.yaml 文件从 Azure Pipeline 获取生成状态

标签 azure-devops azure-pipelines azure-devops-rest-api azure-pipelines-build-task

如何在构建后配置 azure-pipeline.yaml 文件以获取构建状态?我必须通过在 azure-pipeline.yaml 文件中使用 azure-devops-rest-apiazure-devops-node-api 来获取管道的当前构建状态.

请帮忙!

最佳答案

How to configure azure-pipeline.yaml file in post build to get the build status?

我们可以使用 REST API Builds - List获取详细的构建信息:

https://dev.azure.com/{organization}/{project}/_apis/build/builds?definitions={definitions}&api-version=5.1

在 YAML 中,我们可以添加一个 powershell 任务来获取构建结果,例如:

- task: PowerShell@2
  inputs:
   targetType : inline
   script: |
     $url = "https://dev.azure.com/{organization}/{project}/_apis/build/builds?definitions={definitionID}&api-version=5.1"
     $connectionToken="Your PAT Here"
     $base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))

       $buildPipeline= Invoke-RestMethod -Uri $url -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get


       $BuildResult= $buildPipeline.value.result | Select-Object -first 1


       Write-Host This is Build Result: $BuildResult

我们列出指定定义的所有构建结果,然后使用Select-Object -first 1获取最新的构建结果。

enter image description here

作为测试,使用 REST API,我们可以获取当前管道的最新构建的结果,但无法获取本次正在执行的构建的结果.

此外,还有一个Predefined variables ,我们可以通过预定义变量 Agent.JobStatus 检查获取管道的当前构建状态,因此我添加一个命令行任务以在 YAML 中输出此值:

- script: |
   echo $(Agent.JobStatus)

这个变量可以获取当前的构建状态。

希望这有帮助。

关于azure-devops - 使用 azure-pipeline.yaml 文件从 Azure Pipeline 获取生成状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59451306/

相关文章:

asp.net-core - 将符号发布到 VSTS

github - 如何使用 Azure Pipelines 在 Github 上创建自动拉取请求?

c# - 将测试结果文档上传到 Azure 测试计划或 TFS 2018 中的测试中心

azure-devops - 查询只返回工作项列表的 ID 和 URL 不返回标题

azure-devops - VSTS 扩展 - 发布定义数据、环境 ID

sql-server - 将 Azure SQL 数据库置于 Git 版本控制之下

azure - 已删除用户个人资料的幽灵困扰着我(出现在搜索结果和标签中)

azure-devops-rest-api - 如何使用 Azure DevOps Rest api 或 CLI 命令启用/禁用 Azure DevOps Pipeline

azure-devops - Azure Dev Ops 测试步骤未找到测试 (.net 5)

azure - Visual Studio Team Services 构建失败 - 数据库项目到 Azure SQL