是否可以获取发布中的工件名称?

时间:2018-09-28 15:55:44

标签: azure azure-devops

我是否需要在发行版中获得构建工件名称?我没有看到预定义的发布变量可以获取此信息。有没有办法获取这个?

2 个答案:

答案 0 :(得分:1)

如果您要获取在构建过程中Artifact Name任务中定义的Publish Build Artifacts(默认为Drop),则可以在PowerShell脚本下面运行,调用{ {3}}检索值并使用logging命令设置变量。之后,您可以在后续任务中使用该变量...

  1. Agent Phase中启用REST API
  2. 添加PowerShell任务以在脚本下运行

    $url = "$($env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)$env:SYSTEM_TEAMPROJECTID/_apis/build/builds/$env:BUILD_BUILDID/artifacts?api-version=4.1"
    Write-Host "URL: $url"
    $pipeline = Invoke-RestMethod -Uri $url -Headers @{
        Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
    }
    Write-Host "artifactName:" ($artifactName = $Pipeline.value.name)
    
    #Set Variable $artifactName
    Write-Host "##vso[task.setvariable variable=artifactName]$artifactName"
    
    #Then you can use the variable $artifactName in the subsequent tasks...
    

Allow scripts to access the OAuth token

答案 1 :(得分:0)

这是well-documented下的常规伪像变量主要伪像变量

主要工件名称为Build.DefinitionName