Можно ли получить имя артефакта в версии? - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть требование получить имя артефакта сборки в релизе?Я не вижу предопределенных переменных выпуска, которые могут получить это.Есть ли способ получить это?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Если вы хотите получить Artifact Name, который определен в задаче Publish Build Artifacts в процессе сборки (по умолчанию это Drop), тогда вы можете запустить скрипт PowerShell ниже, вызывая REST API чтобы получить значение и установить переменную с помощью команды регистрации.После этого вы можете использовать переменную в последующих задачах ...

  1. Включить Allow scripts to access the OAuth token в Agent Phase
  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...
    

enter image description here

0 голосов
/ 28 сентября 2018

Это хорошо документировано в разделах Общие переменные артефакта и Первичные переменные артефакта .

Основное имя артефакта Build.DefinitionName.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...