Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting TeamCity to recognize Powershell messages

How do I get TeamCity to output messages in the build log with Powershell?

I am using TeamCity 7.1.

Here is my Powershell Build Step:enter image description here

The script is:

write-host "##teamcity[message 'Getting production info']"

if ($LASTEXITCODE -ne 0) {
    write-host "##teamcity[message 'Production Remote Not Found: Creating Remote']"

    write-host "##teamcity[message 'Pushing to Remote']"
    #git push production

} else {
    write-host "##teamcity[message 'write-output: Production Remote Found: Pushing to Remote']"
    #git push production
}

And the only thing I am getting in the build log is:

[17:02:58]Skip checking for changes - changes are already collected
[17:02:59]Publishing internal artifacts (1s)
[17:03:00][Publishing internal artifacts] Sending build.start.properties.gz file
[17:02:59]Clearing temporary directory: C:\BuildAgent2\temp\buildTmp
[17:02:59]Checkout directory: C:\BuildAgent2\work\7669b6a04f96908d
[17:02:59]Updating sources: agent side checkout
[17:02:59][Updating sources] VCS Root: Portal Master
[17:02:59][VCS Root: Portal Master] revision: c5c6a9a0d491ee2c64ce98e48b0d67c422237698
[17:02:59][VCS Root: Portal Master] Resetting Portal Master in C:\BuildAgent2\work\7669b6a04f96908d to revision c5c6a9a0d491ee2c64ce98e48b0d67c422237698
[17:02:59]Starting: C:\Windows\sysnative\cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -File C:\BuildAgent2\temp\buildTmp\powershell1349912883332714566.ps1
[17:02:59]in directory: C:\BuildAgent2\work\7669b6a04f96908d
[17:03:00]
[17:03:00]
[17:03:00]
[17:03:00]Process exited with code 0
[17:03:00]Publishing internal artifacts
[17:03:00][Publishing internal artifacts] Sending build.finish.properties.gz file
[17:03:00]Build finished
like image 844
Joe Young Avatar asked Sep 20 '12 22:09

Joe Young


1 Answers

As described in documentation "message" service message can have multiple arguments, so you need to specify at least argument 'text': "##teamcity[message text='Getting production info']"

Your script will be

write-host "##teamcity[message text='Getting production info']"

if ($LASTEXITCODE -ne 0) {
    write-host "##teamcity[message text='Production Remote Not Found: Creating Remote']"

    write-host "##teamcity[message text='Pushing to Remote']"
    #git push production

} else {
    write-host "##teamcity[message text='write-output: Production Remote Found: Pushing to Remote']"
    #git push production
}
like image 142
Vlad P53 Avatar answered Nov 05 '22 22:11

Vlad P53