Add-VSTeamVariableGroup
SYNOPSIS
Adds a variable group.
SYNTAX
ByHashtable
Add-VSTeamVariableGroup -Name <String> [-Description <String>] -Variables <Hashtable> [-ProjectName <String>]
[<CommonParameters>]
ByBody
Add-VSTeamVariableGroup -Body <String> [-ProjectName <String>] [<CommonParameters>]
DESCRIPTION
Adds a variable group.
EXAMPLES
Example 1
$methodParameters = @{
ProjectName = "some_project_name"
Name = "new_variable_group"
Description = "Describe the Variable Group"
Type = "Vsts"
Variables = @{
key1 = @{
value = "value1"
}
key2 = @{
value = "value2"
isSecret = $true
}
}
}
Add-VSTeamVariableGroup @methodParameters
Example 2
$methodParameters = @{
ProjectName = "some_project_name"
Name = "new_variable_group"
Description = "Describe the Variable Group"
Type = "AzureKeyVault"
Variables = @{
name_of_existing_secret = @{
enabled = $true
contentType = ""
value = ""
isSecret = $true
}
}
ProviderData = @{
serviceEndpointId = "AzureRMServiceEndpointGuid"
vault = "name_of_existing_key_vault"
}
}
Add-VSTeamVariableGroup @methodParameters
Example 3
# Copy variable group varGroupName from project sourceProjectName to project targetProjectName. If varGroupName already exists, we'll update it; else, we'll add it.
$Name = "varGroupName"
$FromProject = "sourceProjectName"
$ToProject = "targetProjectName"
$FromVariableGroupObject = Get-VSTeamVariableGroup -Name $Name -ProjectName $FromProject
$body = ConvertTo-Json -InputObject $FromVariableGroupObject -Depth 100 -Compress
$toVariableGroupObject = Get-VSTeamVariableGroup -Name $Name -ProjectName $ToProject
if ($toVariableGroupObject) {
Update-VSTeamVariableGroup -Body $body -ProjectName $ToProject -Id $toVariableGroupObject.id
}
else {
Add-VSTeamVariableGroup -Body $body -ProjectName $ToProject
}
PARAMETERS
-Description
The variable group description
Type: String
Parameter Sets: ByHashtable
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
-Name
The variable group name
Type: String
Parameter Sets: ByHashtable
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
-Variables
The variable group variables.
Type: Hashtable
Parameter Sets: ByHashtable
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
-Body
The json that represents the variable group as a string
Type: String
Parameter Sets: ByBody
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
-ProjectName
Specifies the team project for which this function operates.
You can tab complete from a list of available projects.
You can use Set-VSTeamDefaultProject to set a default project so you do not have to pass the ProjectName with each call.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS
System.String
System.Collections.Hashtable
OUTPUTS
System.Object
NOTES
Prerequisites:
Set the account and version that all calls will use with Set-VSTeamAccount. Default version sets to API version 3.0 (TFS2017) if not manually set.
tips:
- check called version of the API with Get-VSTeamAPIVersion or Get-VSTeamInfo
- use Set-VSTeamDefaultProject to set default project for every call
- use Set-VSTeamDefaultAPITimeout to change the default timeout of 60 seconds for all calls.
- use Profiles to load an account and the correct version