Skip to main content

Update-VSTeamBuildDefinition

SYNOPSIS

Updates a build definition for a team project.

SYNTAX

JSON (Default)

Update-VSTeamBuildDefinition -Id <Int32> [-BuildDefinition] <String> [-Force] -ProjectName <String> [-WhatIf]
[-Confirm] [<CommonParameters>]

File

Update-VSTeamBuildDefinition -Id <Int32> [-InFile] <String> [-Force] -ProjectName <String> [-WhatIf] [-Confirm]
[<CommonParameters>]

DESCRIPTION

Reads a JSON file off disk or string and uses that file to update an existing build definition in the provided project.

You must call Set-VSTeamAccount before calling this function.

EXAMPLES

Example 1

Update-VSTeamBuildDefinition -ProjectName Demo -Id 123 -InFile build.json

This command reads build.json and updates existing build definition with id 123 from it on the demo team project.

Example 2

$b = Get-VSTeamBuildDefinition -ProjectName Demo -Id 23 -Raw
$b.variables.subscriptionId.value = 'Some New Value'
$body = $b | ConvertTo-Json -Depth 100
Update-VSTeamBuildDefinition -ProjectName Demo -Id 23 -BuildDefinition $body

PARAMETERS

-Id

Specifies the build definition to update by ID.

To find the ID of a build definition, type Get-VSTeamBuildDefinition.

Type: Int32
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-InFile

Path and file name to the JSON file that contains the definition to be updated. If the path is omitted, the default is the current location.

Type: String
Parameter Sets: File
Aliases:

Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-BuildDefinition

JSON string of build definition.

Type: String
Parameter Sets: JSON
Aliases:

Required: True
Position: 1
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: True
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Force

Forces the function without confirmation.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-WhatIf

Shows what would happen if the function runs. The function is not run.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-Confirm

Prompts you for confirmation before running the function.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: False
Accept pipeline input: False
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

OUTPUTS

None

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