首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Azure -管线. file文件从azure管道获取构建状态

使用Azure -管线. file文件从azure管道获取构建状态
EN

Stack Overflow用户
提问于 2019-12-23 06:59:36
回答 1查看 2.6K关注 0票数 2

如何配置生成后的azure-管线. file文件以获得生成状态?我必须使用azure-devops-rest-apiazure-devops-node-api获取管道的当前构建状态,方法是在azure-管线. have文件中使用它们。

请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-26 08:15:23

如何配置生成后的azure-管线. file文件以获得生成状态?

我们可以使用REST 构建-列表获取详细的构建信息:

代码语言:javascript
复制
https://dev.azure.com/{organization}/{project}/_apis/build/builds?definitions={definitions}&api-version=5.1

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

代码语言:javascript
复制
- 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获取最新的构建结果。

作为测试,使用REST,我们可以获得当前管道的最新构建的结果,但是我们无法获得我们正在执行的构建的结果(这次是)。

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

代码语言:javascript
复制
- script: |
   echo $(Agent.JobStatus)

此变量可以获得当前构建状态。

希望这能有所帮助。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59451306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档