AzureDevOps

v2.5.0 published on Monday, Jul 25, 2022 by Pulumi

BuildDefinition

Manages a Build Definition within Azure DevOps.

Remarks

The path attribute can not end in \ unless the path is the root value of \.

Valid path values (yaml encoded) include:

  • \\
  • \\ExampleFolder
  • \\Nested\\Example Folder

The value of \\ExampleFolder\\ would be invalid.

Example Usage

Tfs

using Pulumi;
using AzureDevOps = Pulumi.AzureDevOps;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleProject = new AzureDevOps.Project("exampleProject", new AzureDevOps.ProjectArgs
        {
            Visibility = "private",
            VersionControl = "Git",
            WorkItemTemplate = "Agile",
        });
        var exampleGit = new AzureDevOps.Git("exampleGit", new AzureDevOps.GitArgs
        {
            ProjectId = exampleProject.Id,
            Initialization = new AzureDevOps.Inputs.GitInitializationArgs
            {
                InitType = "Clean",
            },
        });
        var exampleVariableGroup = new AzureDevOps.VariableGroup("exampleVariableGroup", new AzureDevOps.VariableGroupArgs
        {
            ProjectId = exampleProject.Id,
            Description = "Managed by Terraform",
            AllowAccess = true,
            Variables = 
            {
                new AzureDevOps.Inputs.VariableGroupVariableArgs
                {
                    Name = "FOO",
                    Value = "BAR",
                },
            },
        });
        var exampleBuildDefinition = new AzureDevOps.BuildDefinition("exampleBuildDefinition", new AzureDevOps.BuildDefinitionArgs
        {
            ProjectId = exampleProject.Id,
            Path = "\\ExampleFolder",
            CiTrigger = new AzureDevOps.Inputs.BuildDefinitionCiTriggerArgs
            {
                UseYaml = true,
            },
            Schedules = 
            {
                new AzureDevOps.Inputs.BuildDefinitionScheduleArgs
                {
                    BranchFilters = 
                    {
                        new AzureDevOps.Inputs.BuildDefinitionScheduleBranchFilterArgs
                        {
                            Includes = 
                            {
                                "master",
                            },
                            Excludes = 
                            {
                                "test",
                                "regression",
                            },
                        },
                    },
                    DaysToBuilds = 
                    {
                        "Wed",
                        "Sun",
                    },
                    ScheduleOnlyWithChanges = true,
                    StartHours = 10,
                    StartMinutes = 59,
                    TimeZone = "(UTC) Coordinated Universal Time",
                },
            },
            Repository = new AzureDevOps.Inputs.BuildDefinitionRepositoryArgs
            {
                RepoType = "TfsGit",
                RepoId = exampleGit.Id,
                BranchName = exampleGit.DefaultBranch,
                YmlPath = "azure-pipelines.yml",
            },
            VariableGroups = 
            {
                exampleVariableGroup.Id,
            },
            Variables = 
            {
                new AzureDevOps.Inputs.BuildDefinitionVariableArgs
                {
                    Name = "PipelineVariable",
                    Value = "Go Microsoft!",
                },
                new AzureDevOps.Inputs.BuildDefinitionVariableArgs
                {
                    Name = "PipelineSecret",
                    SecretValue = "ZGV2cw",
                    IsSecret = true,
                },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-azuredevops/sdk/v2/go/azuredevops"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleProject, err := azuredevops.NewProject(ctx, "exampleProject", &azuredevops.ProjectArgs{
			Visibility:       pulumi.String("private"),
			VersionControl:   pulumi.String("Git"),
			WorkItemTemplate: pulumi.String("Agile"),
		})
		if err != nil {
			return err
		}
		exampleGit, err := azuredevops.NewGit(ctx, "exampleGit", &azuredevops.GitArgs{
			ProjectId: exampleProject.ID(),
			Initialization: &GitInitializationArgs{
				InitType: pulumi.String("Clean"),
			},
		})
		if err != nil {
			return err
		}
		exampleVariableGroup, err := azuredevops.NewVariableGroup(ctx, "exampleVariableGroup", &azuredevops.VariableGroupArgs{
			ProjectId:   exampleProject.ID(),
			Description: pulumi.String("Managed by Terraform"),
			AllowAccess: pulumi.Bool(true),
			Variables: VariableGroupVariableArray{
				&VariableGroupVariableArgs{
					Name:  pulumi.String("FOO"),
					Value: pulumi.String("BAR"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = azuredevops.NewBuildDefinition(ctx, "exampleBuildDefinition", &azuredevops.BuildDefinitionArgs{
			ProjectId: exampleProject.ID(),
			Path:      pulumi.String("\\ExampleFolder"),
			CiTrigger: &BuildDefinitionCiTriggerArgs{
				UseYaml: pulumi.Bool(true),
			},
			Schedules: BuildDefinitionScheduleArray{
				&BuildDefinitionScheduleArgs{
					BranchFilters: BuildDefinitionScheduleBranchFilterArray{
						&BuildDefinitionScheduleBranchFilterArgs{
							Includes: pulumi.StringArray{
								pulumi.String("master"),
							},
							Excludes: pulumi.StringArray{
								pulumi.String("test"),
								pulumi.String("regression"),
							},
						},
					},
					DaysToBuilds: pulumi.StringArray{
						pulumi.String("Wed"),
						pulumi.String("Sun"),
					},
					ScheduleOnlyWithChanges: pulumi.Bool(true),
					StartHours:              pulumi.Int(10),
					StartMinutes:            pulumi.Int(59),
					TimeZone:                pulumi.String("(UTC) Coordinated Universal Time"),
				},
			},
			Repository: &BuildDefinitionRepositoryArgs{
				RepoType:   pulumi.String("TfsGit"),
				RepoId:     exampleGit.ID(),
				BranchName: exampleGit.DefaultBranch,
				YmlPath:    pulumi.String("azure-pipelines.yml"),
			},
			VariableGroups: pulumi.IntArray{
				exampleVariableGroup.ID(),
			},
			Variables: BuildDefinitionVariableArray{
				&BuildDefinitionVariableArgs{
					Name:  pulumi.String("PipelineVariable"),
					Value: pulumi.String("Go Microsoft!"),
				},
				&BuildDefinitionVariableArgs{
					Name:        pulumi.String("PipelineSecret"),
					SecretValue: pulumi.String("ZGV2cw"),
					IsSecret:    pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azuredevops.Project;
import com.pulumi.azuredevops.ProjectArgs;
import com.pulumi.azuredevops.Git;
import com.pulumi.azuredevops.GitArgs;
import com.pulumi.azuredevops.inputs.GitInitializationArgs;
import com.pulumi.azuredevops.VariableGroup;
import com.pulumi.azuredevops.VariableGroupArgs;
import com.pulumi.azuredevops.inputs.VariableGroupVariableArgs;
import com.pulumi.azuredevops.BuildDefinition;
import com.pulumi.azuredevops.BuildDefinitionArgs;
import com.pulumi.azuredevops.inputs.BuildDefinitionCiTriggerArgs;
import com.pulumi.azuredevops.inputs.BuildDefinitionScheduleArgs;
import com.pulumi.azuredevops.inputs.BuildDefinitionRepositoryArgs;
import com.pulumi.azuredevops.inputs.BuildDefinitionVariableArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleProject = new Project("exampleProject", ProjectArgs.builder()        
            .visibility("private")
            .versionControl("Git")
            .workItemTemplate("Agile")
            .build());

        var exampleGit = new Git("exampleGit", GitArgs.builder()        
            .projectId(exampleProject.id())
            .initialization(GitInitializationArgs.builder()
                .initType("Clean")
                .build())
            .build());

        var exampleVariableGroup = new VariableGroup("exampleVariableGroup", VariableGroupArgs.builder()        
            .projectId(exampleProject.id())
            .description("Managed by Terraform")
            .allowAccess(true)
            .variables(VariableGroupVariableArgs.builder()
                .name("FOO")
                .value("BAR")
                .build())
            .build());

        var exampleBuildDefinition = new BuildDefinition("exampleBuildDefinition", BuildDefinitionArgs.builder()        
            .projectId(exampleProject.id())
            .path("\\ExampleFolder")
            .ciTrigger(BuildDefinitionCiTriggerArgs.builder()
                .useYaml(true)
                .build())
            .schedules(BuildDefinitionScheduleArgs.builder()
                .branchFilters(BuildDefinitionScheduleBranchFilterArgs.builder()
                    .includes("master")
                    .excludes(                    
                        "test",
                        "regression")
                    .build())
                .daysToBuilds(                
                    "Wed",
                    "Sun")
                .scheduleOnlyWithChanges(true)
                .startHours(10)
                .startMinutes(59)
                .timeZone("(UTC) Coordinated Universal Time")
                .build())
            .repository(BuildDefinitionRepositoryArgs.builder()
                .repoType("TfsGit")
                .repoId(exampleGit.id())
                .branchName(exampleGit.defaultBranch())
                .ymlPath("azure-pipelines.yml")
                .build())
            .variableGroups(exampleVariableGroup.id())
            .variables(            
                BuildDefinitionVariableArgs.builder()
                    .name("PipelineVariable")
                    .value("Go Microsoft!")
                    .build(),
                BuildDefinitionVariableArgs.builder()
                    .name("PipelineSecret")
                    .secretValue("ZGV2cw")
                    .isSecret(true)
                    .build())
            .build());

    }
}
import pulumi
import pulumi_azuredevops as azuredevops

example_project = azuredevops.Project("exampleProject",
    visibility="private",
    version_control="Git",
    work_item_template="Agile")
example_git = azuredevops.Git("exampleGit",
    project_id=example_project.id,
    initialization=azuredevops.GitInitializationArgs(
        init_type="Clean",
    ))
example_variable_group = azuredevops.VariableGroup("exampleVariableGroup",
    project_id=example_project.id,
    description="Managed by Terraform",
    allow_access=True,
    variables=[azuredevops.VariableGroupVariableArgs(
        name="FOO",
        value="BAR",
    )])
example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
    project_id=example_project.id,
    path="\\ExampleFolder",
    ci_trigger=azuredevops.BuildDefinitionCiTriggerArgs(
        use_yaml=True,
    ),
    schedules=[azuredevops.BuildDefinitionScheduleArgs(
        branch_filters=[azuredevops.BuildDefinitionScheduleBranchFilterArgs(
            includes=["master"],
            excludes=[
                "test",
                "regression",
            ],
        )],
        days_to_builds=[
            "Wed",
            "Sun",
        ],
        schedule_only_with_changes=True,
        start_hours=10,
        start_minutes=59,
        time_zone="(UTC) Coordinated Universal Time",
    )],
    repository=azuredevops.BuildDefinitionRepositoryArgs(
        repo_type="TfsGit",
        repo_id=example_git.id,
        branch_name=example_git.default_branch,
        yml_path="azure-pipelines.yml",
    ),
    variable_groups=[example_variable_group.id],
    variables=[
        azuredevops.BuildDefinitionVariableArgs(
            name="PipelineVariable",
            value="Go Microsoft!",
        ),
        azuredevops.BuildDefinitionVariableArgs(
            name="PipelineSecret",
            secret_value="ZGV2cw",
            is_secret=True,
        ),
    ])
import * as pulumi from "@pulumi/pulumi";
import * as azuredevops from "@pulumi/azuredevops";

const exampleProject = new azuredevops.Project("exampleProject", {
    visibility: "private",
    versionControl: "Git",
    workItemTemplate: "Agile",
});
const exampleGit = new azuredevops.Git("exampleGit", {
    projectId: exampleProject.id,
    initialization: {
        initType: "Clean",
    },
});
const exampleVariableGroup = new azuredevops.VariableGroup("exampleVariableGroup", {
    projectId: exampleProject.id,
    description: "Managed by Terraform",
    allowAccess: true,
    variables: [{
        name: "FOO",
        value: "BAR",
    }],
});
const exampleBuildDefinition = new azuredevops.BuildDefinition("exampleBuildDefinition", {
    projectId: exampleProject.id,
    path: "\\ExampleFolder",
    ciTrigger: {
        useYaml: true,
    },
    schedules: [{
        branchFilters: [{
            includes: ["master"],
            excludes: [
                "test",
                "regression",
            ],
        }],
        daysToBuilds: [
            "Wed",
            "Sun",
        ],
        scheduleOnlyWithChanges: true,
        startHours: 10,
        startMinutes: 59,
        timeZone: "(UTC) Coordinated Universal Time",
    }],
    repository: {
        repoType: "TfsGit",
        repoId: exampleGit.id,
        branchName: exampleGit.defaultBranch,
        ymlPath: "azure-pipelines.yml",
    },
    variableGroups: [exampleVariableGroup.id],
    variables: [
        {
            name: "PipelineVariable",
            value: "Go Microsoft!",
        },
        {
            name: "PipelineSecret",
            secretValue: "ZGV2cw",
            isSecret: true,
        },
    ],
});
resources:
  exampleProject:
    type: azuredevops:Project
    properties:
      visibility: private
      versionControl: Git
      workItemTemplate: Agile
  exampleGit:
    type: azuredevops:Git
    properties:
      projectId: ${exampleProject.id}
      initialization:
        initType: Clean
  exampleVariableGroup:
    type: azuredevops:VariableGroup
    properties:
      projectId: ${exampleProject.id}
      description: Managed by Terraform
      allowAccess: true
      variables:
        - name: FOO
          value: BAR
  exampleBuildDefinition:
    type: azuredevops:BuildDefinition
    properties:
      projectId: ${exampleProject.id}
      path: \ExampleFolder
      ciTrigger:
        useYaml: true
      schedules:
        - branchFilters:
            - includes:
                - master
              excludes:
                - test
                - regression
          daysToBuilds:
            - Wed
            - Sun
          scheduleOnlyWithChanges: true
          startHours: 10
          startMinutes: 59
          timeZone: (UTC) Coordinated Universal Time
      repository:
        repoType: TfsGit
        repoId: ${exampleGit.id}
        branchName: ${exampleGit.defaultBranch}
        ymlPath: azure-pipelines.yml
      variableGroups:
        - ${exampleVariableGroup.id}
      variables:
        - name: PipelineVariable
          value: Go Microsoft!
        - name: PipelineSecret
          secretValue: ZGV2cw
          isSecret: true

GitHub Enterprise

using Pulumi;
using AzureDevOps = Pulumi.AzureDevOps;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleProject = new AzureDevOps.Project("exampleProject", new AzureDevOps.ProjectArgs
        {
            Visibility = "private",
            VersionControl = "Git",
            WorkItemTemplate = "Agile",
        });
        var exampleServiceEndpointGitHubEnterprise = new AzureDevOps.ServiceEndpointGitHubEnterprise("exampleServiceEndpointGitHubEnterprise", new AzureDevOps.ServiceEndpointGitHubEnterpriseArgs
        {
            ProjectId = exampleProject.Id,
            ServiceEndpointName = "Example GitHub Enterprise",
            Url = "https://github.contoso.com",
            Description = "Managed by Terraform",
            AuthPersonal = new AzureDevOps.Inputs.ServiceEndpointGitHubEnterpriseAuthPersonalArgs
            {
                PersonalAccessToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            },
        });
        var exampleBuildDefinition = new AzureDevOps.BuildDefinition("exampleBuildDefinition", new AzureDevOps.BuildDefinitionArgs
        {
            ProjectId = exampleProject.Id,
            Path = "\\ExampleFolder",
            CiTrigger = new AzureDevOps.Inputs.BuildDefinitionCiTriggerArgs
            {
                UseYaml = true,
            },
            Repository = new AzureDevOps.Inputs.BuildDefinitionRepositoryArgs
            {
                RepoType = "GitHubEnterprise",
                RepoId = "<GitHub Org>/<Repo Name>",
                GithubEnterpriseUrl = "https://github.company.com",
                BranchName = "master",
                YmlPath = "azure-pipelines.yml",
                ServiceConnectionId = exampleServiceEndpointGitHubEnterprise.Id,
            },
            Schedules = 
            {
                new AzureDevOps.Inputs.BuildDefinitionScheduleArgs
                {
                    BranchFilters = 
                    {
                        new AzureDevOps.Inputs.BuildDefinitionScheduleBranchFilterArgs
                        {
                            Includes = 
                            {
                                "main",
                            },
                            Excludes = 
                            {
                                "test",
                                "regression",
                            },
                        },
                    },
                    DaysToBuilds = 
                    {
                        "Wed",
                        "Sun",
                    },
                    ScheduleOnlyWithChanges = true,
                    StartHours = 10,
                    StartMinutes = 59,
                    TimeZone = "(UTC) Coordinated Universal Time",
                },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-azuredevops/sdk/v2/go/azuredevops"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleProject, err := azuredevops.NewProject(ctx, "exampleProject", &azuredevops.ProjectArgs{
			Visibility:       pulumi.String("private"),
			VersionControl:   pulumi.String("Git"),
			WorkItemTemplate: pulumi.String("Agile"),
		})
		if err != nil {
			return err
		}
		exampleServiceEndpointGitHubEnterprise, err := azuredevops.NewServiceEndpointGitHubEnterprise(ctx, "exampleServiceEndpointGitHubEnterprise", &azuredevops.ServiceEndpointGitHubEnterpriseArgs{
			ProjectId:           exampleProject.ID(),
			ServiceEndpointName: pulumi.String("Example GitHub Enterprise"),
			Url:                 pulumi.String("https://github.contoso.com"),
			Description:         pulumi.String("Managed by Terraform"),
			AuthPersonal: &ServiceEndpointGitHubEnterpriseAuthPersonalArgs{
				PersonalAccessToken: pulumi.String("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"),
			},
		})
		if err != nil {
			return err
		}
		_, err = azuredevops.NewBuildDefinition(ctx, "exampleBuildDefinition", &azuredevops.BuildDefinitionArgs{
			ProjectId: exampleProject.ID(),
			Path:      pulumi.String("\\ExampleFolder"),
			CiTrigger: &BuildDefinitionCiTriggerArgs{
				UseYaml: pulumi.Bool(true),
			},
			Repository: &BuildDefinitionRepositoryArgs{
				RepoType:            pulumi.String("GitHubEnterprise"),
				RepoId:              pulumi.String("<GitHub Org>/<Repo Name>"),
				GithubEnterpriseUrl: pulumi.String("https://github.company.com"),
				BranchName:          pulumi.String("master"),
				YmlPath:             pulumi.String("azure-pipelines.yml"),
				ServiceConnectionId: exampleServiceEndpointGitHubEnterprise.ID(),
			},
			Schedules: BuildDefinitionScheduleArray{
				&BuildDefinitionScheduleArgs{
					BranchFilters: BuildDefinitionScheduleBranchFilterArray{
						&BuildDefinitionScheduleBranchFilterArgs{
							Includes: pulumi.StringArray{
								pulumi.String("main"),
							},
							Excludes: pulumi.StringArray{
								pulumi.String("test"),
								pulumi.String("regression"),
							},
						},
					},
					DaysToBuilds: pulumi.StringArray{
						pulumi.String("Wed"),
						pulumi.String("Sun"),
					},
					ScheduleOnlyWithChanges: pulumi.Bool(true),
					StartHours:              pulumi.Int(10),
					StartMinutes:            pulumi.Int(59),
					TimeZone:                pulumi.String("(UTC) Coordinated Universal Time"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azuredevops.Project;
import com.pulumi.azuredevops.ProjectArgs;
import com.pulumi.azuredevops.ServiceEndpointGitHubEnterprise;
import com.pulumi.azuredevops.ServiceEndpointGitHubEnterpriseArgs;
import com.pulumi.azuredevops.inputs.ServiceEndpointGitHubEnterpriseAuthPersonalArgs;
import com.pulumi.azuredevops.BuildDefinition;
import com.pulumi.azuredevops.BuildDefinitionArgs;
import com.pulumi.azuredevops.inputs.BuildDefinitionCiTriggerArgs;
import com.pulumi.azuredevops.inputs.BuildDefinitionRepositoryArgs;
import com.pulumi.azuredevops.inputs.BuildDefinitionScheduleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var exampleProject = new Project("exampleProject", ProjectArgs.builder()        
            .visibility("private")
            .versionControl("Git")
            .workItemTemplate("Agile")
            .build());

        var exampleServiceEndpointGitHubEnterprise = new ServiceEndpointGitHubEnterprise("exampleServiceEndpointGitHubEnterprise", ServiceEndpointGitHubEnterpriseArgs.builder()        
            .projectId(exampleProject.id())
            .serviceEndpointName("Example GitHub Enterprise")
            .url("https://github.contoso.com")
            .description("Managed by Terraform")
            .authPersonal(ServiceEndpointGitHubEnterpriseAuthPersonalArgs.builder()
                .personalAccessToken("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
                .build())
            .build());

        var exampleBuildDefinition = new BuildDefinition("exampleBuildDefinition", BuildDefinitionArgs.builder()        
            .projectId(exampleProject.id())
            .path("\\ExampleFolder")
            .ciTrigger(BuildDefinitionCiTriggerArgs.builder()
                .useYaml(true)
                .build())
            .repository(BuildDefinitionRepositoryArgs.builder()
                .repoType("GitHubEnterprise")
                .repoId("<GitHub Org>/<Repo Name>")
                .githubEnterpriseUrl("https://github.company.com")
                .branchName("master")
                .ymlPath("azure-pipelines.yml")
                .serviceConnectionId(exampleServiceEndpointGitHubEnterprise.id())
                .build())
            .schedules(BuildDefinitionScheduleArgs.builder()
                .branchFilters(BuildDefinitionScheduleBranchFilterArgs.builder()
                    .includes("main")
                    .excludes(                    
                        "test",
                        "regression")
                    .build())
                .daysToBuilds(                
                    "Wed",
                    "Sun")
                .scheduleOnlyWithChanges(true)
                .startHours(10)
                .startMinutes(59)
                .timeZone("(UTC) Coordinated Universal Time")
                .build())
            .build());

    }
}
import pulumi
import pulumi_azuredevops as azuredevops

example_project = azuredevops.Project("exampleProject",
    visibility="private",
    version_control="Git",
    work_item_template="Agile")
example_service_endpoint_git_hub_enterprise = azuredevops.ServiceEndpointGitHubEnterprise("exampleServiceEndpointGitHubEnterprise",
    project_id=example_project.id,
    service_endpoint_name="Example GitHub Enterprise",
    url="https://github.contoso.com",
    description="Managed by Terraform",
    auth_personal=azuredevops.ServiceEndpointGitHubEnterpriseAuthPersonalArgs(
        personal_access_token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    ))
example_build_definition = azuredevops.BuildDefinition("exampleBuildDefinition",
    project_id=example_project.id,
    path="\\ExampleFolder",
    ci_trigger=azuredevops.BuildDefinitionCiTriggerArgs(
        use_yaml=True,
    ),
    repository=azuredevops.BuildDefinitionRepositoryArgs(
        repo_type="GitHubEnterprise",
        repo_id="<GitHub Org>/<Repo Name>",
        github_enterprise_url="https://github.company.com",
        branch_name="master",
        yml_path="azure-pipelines.yml",
        service_connection_id=example_service_endpoint_git_hub_enterprise.id,
    ),
    schedules=[azuredevops.BuildDefinitionScheduleArgs(
        branch_filters=[azuredevops.BuildDefinitionScheduleBranchFilterArgs(
            includes=["main"],
            excludes=[
                "test",
                "regression",
            ],
        )],
        days_to_builds=[
            "Wed",
            "Sun",
        ],
        schedule_only_with_changes=True,
        start_hours=10,
        start_minutes=59,
        time_zone="(UTC) Coordinated Universal Time",
    )])
import * as pulumi from "@pulumi/pulumi";
import * as azuredevops from "@pulumi/azuredevops";

const exampleProject = new azuredevops.Project("exampleProject", {
    visibility: "private",
    versionControl: "Git",
    workItemTemplate: "Agile",
});
const exampleServiceEndpointGitHubEnterprise = new azuredevops.ServiceEndpointGitHubEnterprise("exampleServiceEndpointGitHubEnterprise", {
    projectId: exampleProject.id,
    serviceEndpointName: "Example GitHub Enterprise",
    url: "https://github.contoso.com",
    description: "Managed by Terraform",
    authPersonal: {
        personalAccessToken: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    },
});
const exampleBuildDefinition = new azuredevops.BuildDefinition("exampleBuildDefinition", {
    projectId: exampleProject.id,
    path: "\\ExampleFolder",
    ciTrigger: {
        useYaml: true,
    },
    repository: {
        repoType: "GitHubEnterprise",
        repoId: "<GitHub Org>/<Repo Name>",
        githubEnterpriseUrl: "https://github.company.com",
        branchName: "master",
        ymlPath: "azure-pipelines.yml",
        serviceConnectionId: exampleServiceEndpointGitHubEnterprise.id,
    },
    schedules: [{
        branchFilters: [{
            includes: ["main"],
            excludes: [
                "test",
                "regression",
            ],
        }],
        daysToBuilds: [
            "Wed",
            "Sun",
        ],
        scheduleOnlyWithChanges: true,
        startHours: 10,
        startMinutes: 59,
        timeZone: "(UTC) Coordinated Universal Time",
    }],
});
resources:
  exampleProject:
    type: azuredevops:Project
    properties:
      visibility: private
      versionControl: Git
      workItemTemplate: Agile
  exampleServiceEndpointGitHubEnterprise:
    type: azuredevops:ServiceEndpointGitHubEnterprise
    properties:
      projectId: ${exampleProject.id}
      serviceEndpointName: Example GitHub Enterprise
      url: https://github.contoso.com
      description: Managed by Terraform
      authPersonal:
        personalAccessToken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  exampleBuildDefinition:
    type: azuredevops:BuildDefinition
    properties:
      projectId: ${exampleProject.id}
      path: \ExampleFolder
      ciTrigger:
        useYaml: true
      repository:
        repoType: GitHubEnterprise
        repoId: <GitHub Org>/<Repo Name>
        githubEnterpriseUrl: https://github.company.com
        branchName: master
        ymlPath: azure-pipelines.yml
        serviceConnectionId: ${exampleServiceEndpointGitHubEnterprise.id}
      schedules:
        - branchFilters:
            - includes:
                - main
              excludes:
                - test
                - regression
          daysToBuilds:
            - Wed
            - Sun
          scheduleOnlyWithChanges: true
          startHours: 10
          startMinutes: 59
          timeZone: (UTC) Coordinated Universal Time

Create BuildDefinition Resource

new BuildDefinition(name: string, args: BuildDefinitionArgs, opts?: CustomResourceOptions);
@overload
def BuildDefinition(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    agent_pool_name: Optional[str] = None,
                    ci_trigger: Optional[BuildDefinitionCiTriggerArgs] = None,
                    name: Optional[str] = None,
                    path: Optional[str] = None,
                    project_id: Optional[str] = None,
                    pull_request_trigger: Optional[BuildDefinitionPullRequestTriggerArgs] = None,
                    repository: Optional[BuildDefinitionRepositoryArgs] = None,
                    schedules: Optional[Sequence[BuildDefinitionScheduleArgs]] = None,
                    variable_groups: Optional[Sequence[int]] = None,
                    variables: Optional[Sequence[BuildDefinitionVariableArgs]] = None)
@overload
def BuildDefinition(resource_name: str,
                    args: BuildDefinitionArgs,
                    opts: Optional[ResourceOptions] = None)
func NewBuildDefinition(ctx *Context, name string, args BuildDefinitionArgs, opts ...ResourceOption) (*BuildDefinition, error)
public BuildDefinition(string name, BuildDefinitionArgs args, CustomResourceOptions? opts = null)
public BuildDefinition(String name, BuildDefinitionArgs args)
public BuildDefinition(String name, BuildDefinitionArgs args, CustomResourceOptions options)
type: azuredevops:BuildDefinition
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args BuildDefinitionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args BuildDefinitionArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args BuildDefinitionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args BuildDefinitionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args BuildDefinitionArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

BuildDefinition Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The BuildDefinition resource accepts the following input properties:

ProjectId string

The project ID or project name.

Repository Pulumi.AzureDevOps.Inputs.BuildDefinitionRepositoryArgs

A repository block as documented below.

AgentPoolName string

The agent pool that should execute the build. Defaults to Azure Pipelines.

CiTrigger Pulumi.AzureDevOps.Inputs.BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

Name string

The name of the build definition.

Path string

The folder path of the build definition.

PullRequestTrigger Pulumi.AzureDevOps.Inputs.BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

Schedules List<Pulumi.AzureDevOps.Inputs.BuildDefinitionScheduleArgs>
VariableGroups List<int>

A list of variable group IDs (integers) to link to the build definition.

Variables List<Pulumi.AzureDevOps.Inputs.BuildDefinitionVariableArgs>

A list of variable blocks, as documented below.

ProjectId string

The project ID or project name.

Repository BuildDefinitionRepositoryArgs

A repository block as documented below.

AgentPoolName string

The agent pool that should execute the build. Defaults to Azure Pipelines.

CiTrigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

Name string

The name of the build definition.

Path string

The folder path of the build definition.

PullRequestTrigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

Schedules []BuildDefinitionScheduleArgs
VariableGroups []int

A list of variable group IDs (integers) to link to the build definition.

Variables []BuildDefinitionVariableArgs

A list of variable blocks, as documented below.

projectId String

The project ID or project name.

repository BuildDefinitionRepositoryArgs

A repository block as documented below.

agentPoolName String

The agent pool that should execute the build. Defaults to Azure Pipelines.

ciTrigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

name String

The name of the build definition.

path String

The folder path of the build definition.

pullRequestTrigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

schedules List<BuildDefinitionScheduleArgs>
variableGroups List<Integer>

A list of variable group IDs (integers) to link to the build definition.

variables List<BuildDefinitionVariableArgs>

A list of variable blocks, as documented below.

projectId string

The project ID or project name.

repository BuildDefinitionRepositoryArgs

A repository block as documented below.

agentPoolName string

The agent pool that should execute the build. Defaults to Azure Pipelines.

ciTrigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

name string

The name of the build definition.

path string

The folder path of the build definition.

pullRequestTrigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

schedules BuildDefinitionScheduleArgs[]
variableGroups number[]

A list of variable group IDs (integers) to link to the build definition.

variables BuildDefinitionVariableArgs[]

A list of variable blocks, as documented below.

project_id str

The project ID or project name.

repository BuildDefinitionRepositoryArgs

A repository block as documented below.

agent_pool_name str

The agent pool that should execute the build. Defaults to Azure Pipelines.

ci_trigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

name str

The name of the build definition.

path str

The folder path of the build definition.

pull_request_trigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

schedules Sequence[BuildDefinitionScheduleArgs]
variable_groups Sequence[int]

A list of variable group IDs (integers) to link to the build definition.

variables Sequence[BuildDefinitionVariableArgs]

A list of variable blocks, as documented below.

projectId String

The project ID or project name.

repository Property Map

A repository block as documented below.

agentPoolName String

The agent pool that should execute the build. Defaults to Azure Pipelines.

ciTrigger Property Map

Continuous Integration trigger.

name String

The name of the build definition.

path String

The folder path of the build definition.

pullRequestTrigger Property Map

Pull Request Integration Integration trigger.

schedules List<Property Map>
variableGroups List<Number>

A list of variable group IDs (integers) to link to the build definition.

variables List<Property Map>

A list of variable blocks, as documented below.

Outputs

All input properties are implicitly available as output properties. Additionally, the BuildDefinition resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Revision int

The revision of the build definition

Id string

The provider-assigned unique ID for this managed resource.

Revision int

The revision of the build definition

id String

The provider-assigned unique ID for this managed resource.

revision Integer

The revision of the build definition

id string

The provider-assigned unique ID for this managed resource.

revision number

The revision of the build definition

id str

The provider-assigned unique ID for this managed resource.

revision int

The revision of the build definition

id String

The provider-assigned unique ID for this managed resource.

revision Number

The revision of the build definition

Look up Existing BuildDefinition Resource

Get an existing BuildDefinition resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: BuildDefinitionState, opts?: CustomResourceOptions): BuildDefinition
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        agent_pool_name: Optional[str] = None,
        ci_trigger: Optional[BuildDefinitionCiTriggerArgs] = None,
        name: Optional[str] = None,
        path: Optional[str] = None,
        project_id: Optional[str] = None,
        pull_request_trigger: Optional[BuildDefinitionPullRequestTriggerArgs] = None,
        repository: Optional[BuildDefinitionRepositoryArgs] = None,
        revision: Optional[int] = None,
        schedules: Optional[Sequence[BuildDefinitionScheduleArgs]] = None,
        variable_groups: Optional[Sequence[int]] = None,
        variables: Optional[Sequence[BuildDefinitionVariableArgs]] = None) -> BuildDefinition
func GetBuildDefinition(ctx *Context, name string, id IDInput, state *BuildDefinitionState, opts ...ResourceOption) (*BuildDefinition, error)
public static BuildDefinition Get(string name, Input<string> id, BuildDefinitionState? state, CustomResourceOptions? opts = null)
public static BuildDefinition get(String name, Output<String> id, BuildDefinitionState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AgentPoolName string

The agent pool that should execute the build. Defaults to Azure Pipelines.

CiTrigger Pulumi.AzureDevOps.Inputs.BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

Name string

The name of the build definition.

Path string

The folder path of the build definition.

ProjectId string

The project ID or project name.

PullRequestTrigger Pulumi.AzureDevOps.Inputs.BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

Repository Pulumi.AzureDevOps.Inputs.BuildDefinitionRepositoryArgs

A repository block as documented below.

Revision int

The revision of the build definition

Schedules List<Pulumi.AzureDevOps.Inputs.BuildDefinitionScheduleArgs>
VariableGroups List<int>

A list of variable group IDs (integers) to link to the build definition.

Variables List<Pulumi.AzureDevOps.Inputs.BuildDefinitionVariableArgs>

A list of variable blocks, as documented below.

AgentPoolName string

The agent pool that should execute the build. Defaults to Azure Pipelines.

CiTrigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

Name string

The name of the build definition.

Path string

The folder path of the build definition.

ProjectId string

The project ID or project name.

PullRequestTrigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

Repository BuildDefinitionRepositoryArgs

A repository block as documented below.

Revision int

The revision of the build definition

Schedules []BuildDefinitionScheduleArgs
VariableGroups []int

A list of variable group IDs (integers) to link to the build definition.

Variables []BuildDefinitionVariableArgs

A list of variable blocks, as documented below.

agentPoolName String

The agent pool that should execute the build. Defaults to Azure Pipelines.

ciTrigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

name String

The name of the build definition.

path String

The folder path of the build definition.

projectId String

The project ID or project name.

pullRequestTrigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

repository BuildDefinitionRepositoryArgs

A repository block as documented below.

revision Integer

The revision of the build definition

schedules List<BuildDefinitionScheduleArgs>
variableGroups List<Integer>

A list of variable group IDs (integers) to link to the build definition.

variables List<BuildDefinitionVariableArgs>

A list of variable blocks, as documented below.

agentPoolName string

The agent pool that should execute the build. Defaults to Azure Pipelines.

ciTrigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

name string

The name of the build definition.

path string

The folder path of the build definition.

projectId string

The project ID or project name.

pullRequestTrigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

repository BuildDefinitionRepositoryArgs

A repository block as documented below.

revision number

The revision of the build definition

schedules BuildDefinitionScheduleArgs[]
variableGroups number[]

A list of variable group IDs (integers) to link to the build definition.

variables BuildDefinitionVariableArgs[]

A list of variable blocks, as documented below.

agent_pool_name str

The agent pool that should execute the build. Defaults to Azure Pipelines.

ci_trigger BuildDefinitionCiTriggerArgs

Continuous Integration trigger.

name str

The name of the build definition.

path str

The folder path of the build definition.

project_id str

The project ID or project name.

pull_request_trigger BuildDefinitionPullRequestTriggerArgs

Pull Request Integration Integration trigger.

repository BuildDefinitionRepositoryArgs

A repository block as documented below.

revision int

The revision of the build definition

schedules Sequence[BuildDefinitionScheduleArgs]
variable_groups Sequence[int]

A list of variable group IDs (integers) to link to the build definition.

variables Sequence[BuildDefinitionVariableArgs]

A list of variable blocks, as documented below.

agentPoolName String

The agent pool that should execute the build. Defaults to Azure Pipelines.

ciTrigger Property Map

Continuous Integration trigger.

name String

The name of the build definition.

path String

The folder path of the build definition.

projectId String

The project ID or project name.

pullRequestTrigger Property Map

Pull Request Integration Integration trigger.

repository Property Map

A repository block as documented below.

revision Number

The revision of the build definition

schedules List<Property Map>
variableGroups List<Number>

A list of variable group IDs (integers) to link to the build definition.

variables List<Property Map>

A list of variable blocks, as documented below.

Supporting Types

BuildDefinitionCiTrigger

Override Pulumi.AzureDevOps.Inputs.BuildDefinitionCiTriggerOverride

Override the azure-pipeline file and use a this configuration for all builds.

UseYaml bool

Use the azure-pipeline file for the build configuration. Defaults to false.

Override BuildDefinitionCiTriggerOverride

Override the azure-pipeline file and use a this configuration for all builds.

UseYaml bool

Use the azure-pipeline file for the build configuration. Defaults to false.

override BuildDefinitionCiTriggerOverride

Override the azure-pipeline file and use a this configuration for all builds.

useYaml Boolean

Use the azure-pipeline file for the build configuration. Defaults to false.

override BuildDefinitionCiTriggerOverride

Override the azure-pipeline file and use a this configuration for all builds.

useYaml boolean

Use the azure-pipeline file for the build configuration. Defaults to false.

override BuildDefinitionCiTriggerOverride

Override the azure-pipeline file and use a this configuration for all builds.

use_yaml bool

Use the azure-pipeline file for the build configuration. Defaults to false.

override Property Map

Override the azure-pipeline file and use a this configuration for all builds.

useYaml Boolean

Use the azure-pipeline file for the build configuration. Defaults to false.

BuildDefinitionCiTriggerOverride

Batch bool

If you set batch to true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built. Defaults to true.

BranchFilters List<Pulumi.AzureDevOps.Inputs.BuildDefinitionCiTriggerOverrideBranchFilter>

The branches to include and exclude from the trigger.

MaxConcurrentBuildsPerBranch int

The number of max builds per branch. Defaults to 1.

PathFilters List<Pulumi.AzureDevOps.Inputs.BuildDefinitionCiTriggerOverridePathFilter>

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

PollingInterval int

How often the external repository is polled. Defaults to 0.

PollingJobId string

This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.

Batch bool

If you set batch to true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built. Defaults to true.

BranchFilters []BuildDefinitionCiTriggerOverrideBranchFilter

The branches to include and exclude from the trigger.

MaxConcurrentBuildsPerBranch int

The number of max builds per branch. Defaults to 1.

PathFilters []BuildDefinitionCiTriggerOverridePathFilter

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

PollingInterval int

How often the external repository is polled. Defaults to 0.

PollingJobId string

This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.

batch Boolean

If you set batch to true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built. Defaults to true.

branchFilters List<BuildDefinitionCiTriggerOverrideBranchFilter>

The branches to include and exclude from the trigger.

maxConcurrentBuildsPerBranch Integer

The number of max builds per branch. Defaults to 1.

pathFilters List<BuildDefinitionCiTriggerOverridePathFilter>

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

pollingInterval Integer

How often the external repository is polled. Defaults to 0.

pollingJobId String

This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.

batch boolean

If you set batch to true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built. Defaults to true.

branchFilters BuildDefinitionCiTriggerOverrideBranchFilter[]

The branches to include and exclude from the trigger.

maxConcurrentBuildsPerBranch number

The number of max builds per branch. Defaults to 1.

pathFilters BuildDefinitionCiTriggerOverridePathFilter[]

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

pollingInterval number

How often the external repository is polled. Defaults to 0.

pollingJobId string

This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.

batch bool

If you set batch to true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built. Defaults to true.

branch_filters Sequence[BuildDefinitionCiTriggerOverrideBranchFilter]

The branches to include and exclude from the trigger.

max_concurrent_builds_per_branch int

The number of max builds per branch. Defaults to 1.

path_filters Sequence[BuildDefinitionCiTriggerOverridePathFilter]

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

polling_interval int

How often the external repository is polled. Defaults to 0.

polling_job_id str

This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.

batch Boolean

If you set batch to true, when a pipeline is running, the system waits until the run is completed, then starts another run with all changes that have not yet been built. Defaults to true.

branchFilters List<Property Map>

The branches to include and exclude from the trigger.

maxConcurrentBuildsPerBranch Number

The number of max builds per branch. Defaults to 1.

pathFilters List<Property Map>

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

pollingInterval Number

How often the external repository is polled. Defaults to 0.

pollingJobId String

This is the ID of the polling job that polls the external repository. Once the build definition is saved/updated, this value is set.

BuildDefinitionCiTriggerOverrideBranchFilter

Excludes List<string>

List of branch patterns to exclude.

Includes List<string>

List of branch patterns to include.

Excludes []string

List of branch patterns to exclude.

Includes []string

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

excludes string[]

List of branch patterns to exclude.

includes string[]

List of branch patterns to include.

excludes Sequence[str]

List of branch patterns to exclude.

includes Sequence[str]

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

BuildDefinitionCiTriggerOverridePathFilter

Excludes List<string>

List of branch patterns to exclude.

Includes List<string>

List of branch patterns to include.

Excludes []string

List of branch patterns to exclude.

Includes []string

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

excludes string[]

List of branch patterns to exclude.

includes string[]

List of branch patterns to include.

excludes Sequence[str]

List of branch patterns to exclude.

includes Sequence[str]

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

BuildDefinitionPullRequestTrigger

Forks Pulumi.AzureDevOps.Inputs.BuildDefinitionPullRequestTriggerForks

Set permissions for Forked repositories.

CommentRequired string
InitialBranch string
Override Pulumi.AzureDevOps.Inputs.BuildDefinitionPullRequestTriggerOverride

Override the azure-pipeline file and use this configuration for all builds.

UseYaml bool

Use the azure-pipeline file for the build configuration. Defaults to false.

Forks BuildDefinitionPullRequestTriggerForks

Set permissions for Forked repositories.

CommentRequired string
InitialBranch string
Override BuildDefinitionPullRequestTriggerOverride

Override the azure-pipeline file and use this configuration for all builds.

UseYaml bool

Use the azure-pipeline file for the build configuration. Defaults to false.

forks BuildDefinitionPullRequestTriggerForks

Set permissions for Forked repositories.

commentRequired String
initialBranch String
override BuildDefinitionPullRequestTriggerOverride

Override the azure-pipeline file and use this configuration for all builds.

useYaml Boolean

Use the azure-pipeline file for the build configuration. Defaults to false.

forks BuildDefinitionPullRequestTriggerForks

Set permissions for Forked repositories.

commentRequired string
initialBranch string
override BuildDefinitionPullRequestTriggerOverride

Override the azure-pipeline file and use this configuration for all builds.

useYaml boolean

Use the azure-pipeline file for the build configuration. Defaults to false.

forks BuildDefinitionPullRequestTriggerForks

Set permissions for Forked repositories.

comment_required str
initial_branch str
override BuildDefinitionPullRequestTriggerOverride

Override the azure-pipeline file and use this configuration for all builds.

use_yaml bool

Use the azure-pipeline file for the build configuration. Defaults to false.

forks Property Map

Set permissions for Forked repositories.

commentRequired String
initialBranch String
override Property Map

Override the azure-pipeline file and use this configuration for all builds.

useYaml Boolean

Use the azure-pipeline file for the build configuration. Defaults to false.

BuildDefinitionPullRequestTriggerForks

Enabled bool

Build pull requests form forms of this repository.

ShareSecrets bool

Make secrets available to builds of forks.

Enabled bool

Build pull requests form forms of this repository.

ShareSecrets bool

Make secrets available to builds of forks.

enabled Boolean

Build pull requests form forms of this repository.

shareSecrets Boolean

Make secrets available to builds of forks.

enabled boolean

Build pull requests form forms of this repository.

shareSecrets boolean

Make secrets available to builds of forks.

enabled bool

Build pull requests form forms of this repository.

share_secrets bool

Make secrets available to builds of forks.

enabled Boolean

Build pull requests form forms of this repository.

shareSecrets Boolean

Make secrets available to builds of forks.

BuildDefinitionPullRequestTriggerOverride

AutoCancel bool

. Defaults to true.

BranchFilters List<Pulumi.AzureDevOps.Inputs.BuildDefinitionPullRequestTriggerOverrideBranchFilter>

The branches to include and exclude from the trigger.

PathFilters List<Pulumi.AzureDevOps.Inputs.BuildDefinitionPullRequestTriggerOverridePathFilter>

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

AutoCancel bool

. Defaults to true.

BranchFilters []BuildDefinitionPullRequestTriggerOverrideBranchFilter

The branches to include and exclude from the trigger.

PathFilters []BuildDefinitionPullRequestTriggerOverridePathFilter

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

autoCancel Boolean

. Defaults to true.

branchFilters List<BuildDefinitionPullRequestTriggerOverrideBranchFilter>

The branches to include and exclude from the trigger.

pathFilters List<BuildDefinitionPullRequestTriggerOverridePathFilter>

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

autoCancel boolean

. Defaults to true.

branchFilters BuildDefinitionPullRequestTriggerOverrideBranchFilter[]

The branches to include and exclude from the trigger.

pathFilters BuildDefinitionPullRequestTriggerOverridePathFilter[]

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

auto_cancel bool

. Defaults to true.

branch_filters Sequence[BuildDefinitionPullRequestTriggerOverrideBranchFilter]

The branches to include and exclude from the trigger.

path_filters Sequence[BuildDefinitionPullRequestTriggerOverridePathFilter]

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

autoCancel Boolean

. Defaults to true.

branchFilters List<Property Map>

The branches to include and exclude from the trigger.

pathFilters List<Property Map>

Specify file paths to include or exclude. Note that the wildcard syntax is different between branches/tags and file paths.

BuildDefinitionPullRequestTriggerOverrideBranchFilter

Excludes List<string>

List of branch patterns to exclude.

Includes List<string>

List of branch patterns to include.

Excludes []string

List of branch patterns to exclude.

Includes []string

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

excludes string[]

List of branch patterns to exclude.

includes string[]

List of branch patterns to include.

excludes Sequence[str]

List of branch patterns to exclude.

includes Sequence[str]

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

BuildDefinitionPullRequestTriggerOverridePathFilter

Excludes List<string>

List of branch patterns to exclude.

Includes List<string>

List of branch patterns to include.

Excludes []string

List of branch patterns to exclude.

Includes []string

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

excludes string[]

List of branch patterns to exclude.

includes string[]

List of branch patterns to include.

excludes Sequence[str]

List of branch patterns to exclude.

includes Sequence[str]

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

BuildDefinitionRepository

RepoId string

The id of the repository. For TfsGit repos, this is simply the ID of the repository. For Github repos, this will take the form of <GitHub Org>/<Repo Name>. For Bitbucket repos, this will take the form of <Workspace ID>/<Repo Name>.

RepoType string

The repository type. Valid values: GitHub or TfsGit or Bitbucket or GitHub Enterprise. Defaults to GitHub. If repo_type is GitHubEnterprise, must use existing project and GitHub Enterprise service connection.

YmlPath string

The path of the Yaml file describing the build definition.

BranchName string

The branch name for which builds are triggered. Defaults to master.

GithubEnterpriseUrl string

The Github Enterprise URL. Used if repo_type is GithubEnterprise.

ReportBuildStatus bool

Report build status. Default is true.

ServiceConnectionId string

The service connection ID. Used if the repo_type is GitHub or GitHubEnterprise.

RepoId string

The id of the repository. For TfsGit repos, this is simply the ID of the repository. For Github repos, this will take the form of <GitHub Org>/<Repo Name>. For Bitbucket repos, this will take the form of <Workspace ID>/<Repo Name>.

RepoType string

The repository type. Valid values: GitHub or TfsGit or Bitbucket or GitHub Enterprise. Defaults to GitHub. If repo_type is GitHubEnterprise, must use existing project and GitHub Enterprise service connection.

YmlPath string

The path of the Yaml file describing the build definition.

BranchName string

The branch name for which builds are triggered. Defaults to master.

GithubEnterpriseUrl string

The Github Enterprise URL. Used if repo_type is GithubEnterprise.

ReportBuildStatus bool

Report build status. Default is true.

ServiceConnectionId string

The service connection ID. Used if the repo_type is GitHub or GitHubEnterprise.

repoId String

The id of the repository. For TfsGit repos, this is simply the ID of the repository. For Github repos, this will take the form of <GitHub Org>/<Repo Name>. For Bitbucket repos, this will take the form of <Workspace ID>/<Repo Name>.

repoType String

The repository type. Valid values: GitHub or TfsGit or Bitbucket or GitHub Enterprise. Defaults to GitHub. If repo_type is GitHubEnterprise, must use existing project and GitHub Enterprise service connection.

ymlPath String

The path of the Yaml file describing the build definition.

branchName String

The branch name for which builds are triggered. Defaults to master.

githubEnterpriseUrl String

The Github Enterprise URL. Used if repo_type is GithubEnterprise.

reportBuildStatus Boolean

Report build status. Default is true.

serviceConnectionId String

The service connection ID. Used if the repo_type is GitHub or GitHubEnterprise.

repoId string

The id of the repository. For TfsGit repos, this is simply the ID of the repository. For Github repos, this will take the form of <GitHub Org>/<Repo Name>. For Bitbucket repos, this will take the form of <Workspace ID>/<Repo Name>.

repoType string

The repository type. Valid values: GitHub or TfsGit or Bitbucket or GitHub Enterprise. Defaults to GitHub. If repo_type is GitHubEnterprise, must use existing project and GitHub Enterprise service connection.

ymlPath string

The path of the Yaml file describing the build definition.

branchName string

The branch name for which builds are triggered. Defaults to master.

githubEnterpriseUrl string

The Github Enterprise URL. Used if repo_type is GithubEnterprise.

reportBuildStatus boolean

Report build status. Default is true.

serviceConnectionId string

The service connection ID. Used if the repo_type is GitHub or GitHubEnterprise.

repo_id str

The id of the repository. For TfsGit repos, this is simply the ID of the repository. For Github repos, this will take the form of <GitHub Org>/<Repo Name>. For Bitbucket repos, this will take the form of <Workspace ID>/<Repo Name>.

repo_type str

The repository type. Valid values: GitHub or TfsGit or Bitbucket or GitHub Enterprise. Defaults to GitHub. If repo_type is GitHubEnterprise, must use existing project and GitHub Enterprise service connection.

yml_path str

The path of the Yaml file describing the build definition.

branch_name str

The branch name for which builds are triggered. Defaults to master.

github_enterprise_url str

The Github Enterprise URL. Used if repo_type is GithubEnterprise.

report_build_status bool

Report build status. Default is true.

service_connection_id str

The service connection ID. Used if the repo_type is GitHub or GitHubEnterprise.

repoId String

The id of the repository. For TfsGit repos, this is simply the ID of the repository. For Github repos, this will take the form of <GitHub Org>/<Repo Name>. For Bitbucket repos, this will take the form of <Workspace ID>/<Repo Name>.

repoType String

The repository type. Valid values: GitHub or TfsGit or Bitbucket or GitHub Enterprise. Defaults to GitHub. If repo_type is GitHubEnterprise, must use existing project and GitHub Enterprise service connection.

ymlPath String

The path of the Yaml file describing the build definition.

branchName String

The branch name for which builds are triggered. Defaults to master.

githubEnterpriseUrl String

The Github Enterprise URL. Used if repo_type is GithubEnterprise.

reportBuildStatus Boolean

Report build status. Default is true.

serviceConnectionId String

The service connection ID. Used if the repo_type is GitHub or GitHubEnterprise.

BuildDefinitionSchedule

DaysToBuilds []string
BranchFilters []BuildDefinitionScheduleBranchFilter

block supports the following:

ScheduleJobId string

The ID of the schedule job

ScheduleOnlyWithChanges bool
StartHours int
StartMinutes int
TimeZone string
daysToBuilds List<String>
branchFilters List<BuildDefinitionScheduleBranchFilter>

block supports the following:

scheduleJobId String

The ID of the schedule job

scheduleOnlyWithChanges Boolean
startHours Integer
startMinutes Integer
timeZone String
daysToBuilds string[]
branchFilters BuildDefinitionScheduleBranchFilter[]

block supports the following:

scheduleJobId string

The ID of the schedule job

scheduleOnlyWithChanges boolean
startHours number
startMinutes number
timeZone string
daysToBuilds List<String>
branchFilters List<Property Map>

block supports the following:

scheduleJobId String

The ID of the schedule job

scheduleOnlyWithChanges Boolean
startHours Number
startMinutes Number
timeZone String

BuildDefinitionScheduleBranchFilter

Excludes List<string>

List of branch patterns to exclude.

Includes List<string>

List of branch patterns to include.

Excludes []string

List of branch patterns to exclude.

Includes []string

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

excludes string[]

List of branch patterns to exclude.

includes string[]

List of branch patterns to include.

excludes Sequence[str]

List of branch patterns to exclude.

includes Sequence[str]

List of branch patterns to include.

excludes List<String>

List of branch patterns to exclude.

includes List<String>

List of branch patterns to include.

BuildDefinitionVariable

Name string

The name of the variable.

AllowOverride bool

True if the variable can be overridden. Defaults to true.

IsSecret bool

True if the variable is a secret. Defaults to false.

SecretValue string

The secret value of the variable. Used when is_secret set to true.

Value string

The value of the variable.

Name string

The name of the variable.

AllowOverride bool

True if the variable can be overridden. Defaults to true.

IsSecret bool

True if the variable is a secret. Defaults to false.

SecretValue string

The secret value of the variable. Used when is_secret set to true.

Value string

The value of the variable.

name String

The name of the variable.

allowOverride Boolean

True if the variable can be overridden. Defaults to true.

isSecret Boolean

True if the variable is a secret. Defaults to false.

secretValue String

The secret value of the variable. Used when is_secret set to true.

value String

The value of the variable.

name string

The name of the variable.

allowOverride boolean

True if the variable can be overridden. Defaults to true.

isSecret boolean

True if the variable is a secret. Defaults to false.

secretValue string

The secret value of the variable. Used when is_secret set to true.

value string

The value of the variable.

name str

The name of the variable.

allow_override bool

True if the variable can be overridden. Defaults to true.

is_secret bool

True if the variable is a secret. Defaults to false.

secret_value str

The secret value of the variable. Used when is_secret set to true.

value str

The value of the variable.

name String

The name of the variable.

allowOverride Boolean

True if the variable can be overridden. Defaults to true.

isSecret Boolean

True if the variable is a secret. Defaults to false.

secretValue String

The secret value of the variable. Used when is_secret set to true.

value String

The value of the variable.

Import

Azure DevOps Build Definitions can be imported using the project name/definitions Id or by the project Guid/definitions Id, e.g.

 $ pulumi import azuredevops:index/buildDefinition:BuildDefinition example "Example Project"/10

or

 $ pulumi import azuredevops:index/buildDefinition:BuildDefinition example 00000000-0000-0000-0000-000000000000/0

Package Details

Repository
https://github.com/pulumi/pulumi-azuredevops
License
Apache-2.0
Notes

This Pulumi package is based on the azuredevops Terraform Provider.