TFS (AzureDevOps) 2015 C # Получить переменные, используемые в сборке - PullRequest
0 голосов
/ 19 февраля 2019

Я создал несколько переменных в новом шаблоне сборки vNext (обновление 3 TFS 2015), которые частично были изменены во время сборки.Я могу получить доступ к (неизмененным) переменным через определение сборки:

VssConnection connection = new VssConnection(Helper.uri, new VssCredentials());
var vNextBuildClient = connection.GetClient<BuildHttpClient>();
var buildDef = (vNextBuildClient.GetDefinitionAsync(myProject, myId).Result) as BuildDefinition;
// buildDef.Variables contains all variables

Однако я не могу получить переменные конкретной сборки.

var buildsvNext = await vNextBuildClient.GetBuildsAsync(myProject, listOfIDs, null, null, null, null, null, null, null, null, null, null, null, null, 5, null, null);
var currentBuilds = buildsvNext.Where(b => b.Definition.Id == definition2.Id).ToList();
foreach (var build in currentBuilds) {
    // no variables here
}

Как я могу получитьпеременные, которые принадлежат сборке?Или я должен явно хранить переменные где-то во время сборки?

Редактировать: я нашел следующие вопросы / ответы на Stackoverflow

К сожалению, я не смог получить Артефактпапка с обоими решениями:

https://{AccountName}.visualstudio.com/DefaultCollection/{TeamProject}/_apis/build/builds/{BuildId}/artifacts/drop?%24format=zip

http://{MyTFSServer}/{TeamProjectCollection}/{TeamProject}/_api/_build/ItemContent?buildUri=vstfs:///Build/Build/{BuildId}&path=/drop&__v=5

1 Ответ

0 голосов
/ 20 февраля 2019

Я нашел обходной путь:

Я сохраняю все переменные с помощью скрипта Powershell в файле XML в артефактах, а затем читаю этот файл с помощью соответствующей команды REST API.

API TFS Rest для TFS 2015 - получение артефактов сборки

GET https://{instance}/DefaultCollection/{project}/_apis/build/builds/{buildId}/artifacts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...