Is there a way to access TeamCity system properties in a Powershell script?

Paul picture Paul · Nov 7, 2012 · Viewed 20.9k times · Source

I'm trying to set up a new build configuration in TeamCity using the Powershell runner. However, I can't seem to find a way to access the TeamCity System Properties in the build script. I've seen hints that it is possible, but cannot find documentation on how to do it.

I have tried accessing the system properties using Powershell variable syntax, $variable. I have also printed out all variables in memory and see no teamcity variables to use.

Is this possible with the Powershell runner, and if so what is the syntax necessary to get it working?

Answer

Marcus picture Marcus · Nov 8, 2012

TeamCity will set up environment variables, such as build.number (you can see a list of these within TeamCity).

In Powershell you can access environment variables using the env "provider", e.g.

$env:PATH

TeamCity variables are accessible by replacing the . with a _, so the build.number variable can be accessed as

$env:build_number