New-TfsBuildDefinition
SYNOPSIS
Create a new build definition for your project
SYNTAX
Cred (Default)
New-TfsBuildDefinition -InstanceName <String> [-CollectionName <String>] [-Port <UInt32>]
[-ApiVersion <String>] -ProjectName <String> -DefinitionName <String> [-QueueName <String>]
[-BuildTasks <Hashtable[]>] [-Phases <Hashtable[]>] [-CiTriggerRefs <String[]>] [-Variables <Hashtable>]
[-UseSsl] -Credential <PSCredential> [<CommonParameters>]
Pat
New-TfsBuildDefinition -InstanceName <String> [-CollectionName <String>] [-Port <UInt32>]
[-ApiVersion <String>] -ProjectName <String> -DefinitionName <String> [-QueueName <String>]
[-BuildTasks <Hashtable[]>] [-Phases <Hashtable[]>] [-CiTriggerRefs <String[]>] [-Variables <Hashtable>]
[-UseSsl] -PersonalAccessToken <String> [<CommonParameters>]
DESCRIPTION
Create a new build definition for your project
EXAMPLES
Definition with simple build step
$buildSteps = @(
@{
"enabled" = $true
"continueOnError" = $false
"alwaysRun" = $false
"displayName" = "Execute Build.ps1"
"task" = @{
"id" = "e213ff0f-5d5c-4791-802d-52ea3e7be1f1" # We need to refer to a valid ID - refer to Get-LabBuildStep for all available steps
"versionSpec" = "*"
}
"inputs" = @{
scriptType = "filePath"
scriptName = ".Build.ps1"
arguments = "-resolveDependency"
failOnStandardError = $false
}
}
)
New-TfsProject -InstanceName DSCTFS -Port 443 -CollectionName 'AutomatedLab' -ProjectName 'DSC' -Credential $credential -UseSsl -SourceControlType Git -TemplateName 'Agile'
New-TfsBuildDefinition -InstanceName DSCTFS -Port 443 -CollectionName 'AutomatedLab' -ProjectName 'DSC' -Credential $credential -DefinitionName ALBuild -BuildTasks $buildSteps -UseSsl
This sample adds a single build step which calls a build script inside the team project's git repository
PARAMETERS
-InstanceName
The instance name (dev.azure.com/username or your TFS host name)
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CollectionName
Your collection. Defaults to DefaultCollection
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Port
The port of your installation/VSTS instance
Type: UInt32
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ApiVersion
The API version to use. Refer to https://www.visualstudio.com/en-us/docs/integrate/api/overview for details
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ProjectName
The name of your team project
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-DefinitionName
The name of your build definition
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-QueueName
The name of your project's agent queue
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-BuildTasks
An array of hashtables describing your build tasks, e.g.: $buildSteps = @( @{ "enabled" = $true "continueOnError" = $false "alwaysRun" = $false "displayName" = "Execute Build.ps1" "task" = @{ "id" = "e213ff0f-5d5c-4791-802d-52ea3e7be1f1" # We need to refer to a valid ID - refer to Get-LabBuildStep for all available steps "versionSpec" = "*" } "inputs" = @{ scriptType = "filePath" scriptName = ".Build.ps1" arguments = "-resolveDependency" failOnStandardError = $false } } )
Type: Hashtable[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-UseSsl
Indicates that SSL should be used
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Credential
The TFS credential to use
Type: PSCredential
Parameter Sets: Cred
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-PersonalAccessToken
The VSTS access token as returned by Get-TfsAccessTokenString
Type: String
Parameter Sets: Pat
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-CiTriggerRefs
{{ Fill CiTriggerRefs Description }}
Type: String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Phases
{{ Fill Phases Description }}
Type: Hashtable[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Variables
{{ Fill Variables Description }}
Type: Hashtable
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
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.