How to add secret variable as task environment variable in VSTS

Set Environment Variable

Use a Command Line task, like this:

VSTS Build - copy secret var to environment var

target_environment_variable now contains the value of secret_variable.

Verify

Add a subsequent Command Line task that writes all environment variables to a disk file, like this: (note: in the Arguments text box, write to a folder that both you and build agent can access):

VSTS Build - write env vars to disk


Queue the build definition, then view the file containing the environment variables:

VSTS Build - view file of env vars


You can supply variables to pass to tasks in the Variables page of the build definition:

enter image description here

Then they can be passed in to a task as an input like so:

enter image description here


When using the YAML-syntax this can be achieved too:

steps:
- script: |
    echo %MYSECRET%
  env:
    MySecret: $(Secret_Variable)