Search code examples
tfstfsbuildworkflow-activity

TFS How to GetEnvironmentVariable value


In my tfs build I've created an argument to which I pass in $(TF_BUILD_BUILDDIRECTORY)

enter image description here Then in my xaml file I've added a variable called "test1" and added GetEnvirenmentVariable" step where I would like to store value of

TF_BUILD_BUILDDIRECTORY

enter image description here

I can NOT get the value to come through. Output from my build: enter image description here

It prints $(TF_BUILD_BUILDDIRECTORY) instead of "C:\temp... etc"

Please help! thanks


Solution

  • Refer to the last paragraph in this MSDN document:

    Use environment data from a custom build process

    If you need to use an environment variable in your custom build process template, you can use the GetEnvironmentVariable activity to get the data. You can get data from any of the WellKnownEnvironmentVariables.

    For example, to get the path to the binaries directory, set the Name property of the GetEnvironmentVariable activity to Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownEnvironmentVariables.BinariesDirectory


    Please follow the below steps:

    1. Create a String variable named: BINARIESDIRECTORY.
    2. Add GetEnvironmentVariable (String) activity, set Name = Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownEnvironmentVariables.BinariesDirectory and Result = BINARIESDIRECTORY
    3. Add CopyDirectory activity, set Source = BINARIESDIRECTORY and Destination = “\servername\drop”