public/release/Add-PSTSReleaseDefinitionVariable.ps1
function Add-PSTSReleaseDefinitionVariable { param( [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][object[]] $variables, [Parameter(ValueFromPipelineByPropertyName = $true)][bool] $append, [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][object] $releaseDefinition ) process { foreach ($varkey in $variables.Keys) { if ($null -ne $releaseDefinition.Variables.($varkey)) { if ($append -eq $true) { $releaseDefinition.Variables.($varkey).value = "{0} {1}" -f $releaseDefinition.Variables.($varkey).value, $variables.($varkey) } else { $releaseDefinition.Variables.($varkey).value = $variables.($varkey) } } else { $var = [pscustomobject]@{value = $variables.($varkey)} $releaseDefinition.Variables | Add-Member -NotePropertyName $varkey -NotePropertyValue $var } } return $releaseDefinition } } |