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.

INPUTS

OUTPUTS

NOTES