Можно ли форматировать вывод PowerShell в сворачиваемый Tree View в журналах TeamCity?

Можно ли форматировать вывод PowerShell так, чтобы он отображался как сборный раздел в журнале сборки TeamCity, вид дерева?

Так, например, мой шаг сборки использует лининг powershell и выдает

write-host " #################  deployment manifest ############################"
ls -r -i *.* | %{ $_.FullName }

который выводит это:

[15:28:13] #################  deployment manifest ############################
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Bin
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\contact
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Content
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\controls
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\error

Я бы хотел, чтобы этот кусок журнала был сложен в виде дерева.

Ответ 1

Да, мы делаем это с помощью наших скриптов powershell, вам нужно, чтобы ваша сборка script была обновлена ​​Teamcity с статусом сборки. В частности, вам нужно сообщить о ходе сборки, который сообщит Teamcity, когда начнется и закончится блок обработки. После завершения сборки Teamcity будет использовать эту информацию для создания узлов в древовидном представлении журнала.

В powershell выполните следующее:

write-host "##teamcity[progressStart '<message>']"

do work

write-host "##teamcity[progressFinish '<message>']"

Примечание. В сообщении о запуске и завершении убедитесь, что сообщение одинаково, блоки могут быть вложенными. Вместо этого вы также можете использовать блок-сообщение. Я не знаю точно, в чем разница, но вы, похоже, получаете те же результаты:

write-host "##teamcity[blockOpened name='<blockName>']"

do work

write-host "##teamcity[blockClosed name='<blockName>']"