Установка выходной переменной с помощью newman / postman обрывается - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть выходные переменные siteToDeploy и siteToStop.Я использую почтальон для запуска тестового скрипта с API администрирования IIS.В тестовой части одного из запросов я пытаюсь установить выходную переменную azure devops.Это своего рода работает, но значение переменной по какой-то причине обрезается.

Вот тестовый скрипт в postman: console.log (pm.globals.get ("siteName"))

var response = pm.response.json();

var startedSite = _.find(response.websites, function(o) { return o.name.indexOf(pm.globals.get("siteName")) > -1 && pm.globals.get("siteName") &&  o.status == 'started'});
var stoppedSite = _.find(response.websites, function(o) { return o.name.indexOf(pm.globals.get("siteName"))  > -1 &&  o.status == 'stopped'});

if(stoppedSite && startedSite){

    console.log('sites found');

    console.log(stoppedSite.id)
    console.log('##vso[task.setvariable variable=siteToDeploy;]' + stoppedSite.id);
    console.log('##vso[task.setvariable variable=siteToStop;]' + startedSite.id);
}

Вот вывод формы Newman: Newman

Вот вывод из задачи командной строки, повторяющей переменную $ (siteToDeploy).Это устанавливается, но не вся ценность.enter image description here

Я пытался избежать этого, но это не имело никакого эффекта.Я также создал статический эхо командной строки, где переменная установлена, и это работало нормально.Поэтому я не уверен, что это проблема Ньюмена или у Azure возникли проблемы с подбором данных.

1 Ответ

0 голосов
/ 28 декабря 2018

Проблема оказалась в том, что Azure пытается проанализировать вывод журнала консоли Newman.Мне пришлось добавить дополнительную задачу Powershell, чтобы заменить ', возвращаемый из вывода Newman.

Вот как это выглядит:

##This task is only here because of how Newman is writing out the console.log 
Param(
[string]$_siteToDeploy = (("$(siteToDeploy)") -replace "'",""),
[string]$_siteToStop = (("$(siteToStop)") -replace "'","")
)
Write-Host ("##vso[task.setvariable variable=siteToDeploy;]{0}" -f  ($_siteToDeploy))
Write-Host ("##vso[task.setvariable variable=siteToStop;]{0}" -f ($_siteToStop))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...