Можно ли перечислить все переменные сборки, предоставленные во время очереди, в сборку TFS vNext? - PullRequest
0 голосов
/ 25 января 2019

Я предоставляю переменную во время очереди:

enter image description here

Эта переменная не определена среди переменных определения сборки:

enter image description here

Когда выполняется сборка, переменная отображается как ABC переменная окружения. Итак, если на этапе сборки известно, что переменная abc ожидает, она может получить ее значение.

Но что, если на этапе сборки необходимо перечислить все переменные, переданные во время очереди? Возможно ли использование специального соглашения об именах?

1 Ответ

0 голосов
/ 25 января 2019

Вы можете сделать это в задаче PowerShell, используя комбинацию API Build-Builds и Builds-Definition . Вы можете выполнить это как шаг в выполнении сборки.

$uri = "https://dev.azure.com/{organization}/{project}/_apis/build/definitions/{definitionId}"

$definitionParameters = Invoke-RestMethod -uri $uri -UseDefaultCredentials -Method Get |
    Select-Object -ExpandProperty variables

$uri = "https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}"

$buildParameters = Invoke-RestMethod -uri $uri -UseDefaultCredentials -Method Get |
    Select-Object -ExpandProperty parameters | 
    ConvertFrom-Json | 
    Get-Member -MemberType NoteProperty |
    Select-Object -ExpandProperty Name

foreach ($parameter in $buildParameters) {

    $found = $definitionParameters | 
        Get-Member -MemberType NoteProperty |
        Select-Object -ExpandProperty Name |
        Where-Object { $_ -eq $parameter}

    if (-not $found) {
        $parameter
    } 
}

Таким образом, определение компоновки с параметрами A, B и компоновка с параметрами A, B, C - это вывело бы C.

Я смоделировал URI azuredevops, но проверил это на локальном экземпляре tfs2018.

Замените -UseDefaultCredentials токеном или токеном доступа к системе в конвейере.

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