Можно ли инициировать сборку TFS из одной коллекции в другую? - PullRequest
0 голосов
/ 02 июля 2018

Я ищу способ, позволяющий одной сборке запускать другую сборку в другой коллекции. Если это возможно, можно ли дождаться завершения сборки, прежде чем продолжить?

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете запустить скрипт Powershell, который запускает другую сборку:

param
(
    [Parameter(Mandatory=$true)]
    $BuildDefinitionId,
    [Parameter(Mandatory=$true)]
    $CollectionUrl,
    [Parameter(Mandatory=$true)]
    $TeamProject,
    [Parameter(Mandatory=$true)]
    $Credentials
)

try
{
    $apiVersion = "2.0"
    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}" -f $Credentials)))
    $body = @{ definition = @{id = $BuildDefinitionId} }
    $requestUrl = "$CollectionUrl/$TeamProject/_apis/build/builds" + "?api-version=$apiVersion"
    $response = Invoke-RestMethod -Method Post -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -ContentType application/json -Uri $requestUrl -Body (ConvertTo-Json $body)
    return $response
}

catch
{
    Write-Host "Failed to trigger build {$BuildDefinitionId}, Exception: $_" -ForegroundColor Red
    return $null
}

}

Пример для параметров:

-BuildDefinitionId "37" -CollectionUrl "http://tfsserver:8080/tfs/DefaultCollection" -TeamProject" MyProject "-Credentials" домен \ пользователь: MyP @ ssw0rd "

Вы можете узнать здесь , как использовать задачу Powershell в TFS.

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