I have created powershell script to update json file with variables. Json file is located in Azure devops repo, json file name var.json. I am going to use this solution in azure devops, so I built pipeline and set test variable in variables tab in azure devops:
In my script I have param and variables blocks, presented below:
param(
[Parameter (Mandatory=$true)]
[String] $FileRes
)
#env variable
$Path = $Env:BUILD_SOURCESDIRECTORY
# Download variables from Json file
$JsonBase = @()
$JsonPath = "$Path\Var.json"
$JsonBase = Get-Content $JsonPath | out-string | ConvertFrom-Json
$JsonBase.FileNames[0].value = $FileRes
in my script I use commands: $JsonBase | ConvertTo-Json | Set-Content -Path $JsonPath
to direct output to json file.
Json file structure:
{
"FileNames": [
{
"value": "AAAbbbccc123",
"value1": "www",
"value3": "swd",
"value4": "xvb"
}
]
}
Pipeline's status at the end is ok, all steps are green, but var.json file is not updated as I wanted. There is still old value --> "value": "AAAbbbccc123"
"test" | ConvertTo-Json | Set-Content -Path $JsonPath
? - Tomalak