I'd like to start a release leveraging the VSTS Rest API defined here: https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases#create-a-release
but I need to set some of the variable values when I create the release. Looking at the ReleaseMetadata (https://www.visualstudio.com/en-us/docs/integrate/api/rm/contracts#ReleaseStartMetadata) I see there is a properties collection. Is this where I'd set the variable values? Is there any special naming convention I need to use in the property name to translate it the variable name? (like ##VSTS:[])??
Now you can define VSTS Release variables to be "Settable at release time" as shown below.
Then you can use below json syntax in VSTS REST API call request body to pass the variable values to set at the time of creating the release.
For more information refer the post here.
Unfortunately, for now it's not able to set variable values when you created a release. This is unlike Build definition for VSTS, variables are allowed to change their values at queue time.
There has been a related uservoice, you could vote for it:
As a workaround, you could create a draft release, then update variables’ value ,after that, you can start the release by Modifying the status of a release (active)
More detail info please take a look this similar question: Release Variables through REST API - Visual Studio Team Services