azuredevops.Project
Explore with Pulumi AI
Manages a project within Azure DevOps.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azuredevops from "@pulumi/azuredevops";
const example = new azuredevops.Project("example", {
    name: "Example Project",
    visibility: "private",
    versionControl: "Git",
    workItemTemplate: "Agile",
    description: "Managed by Terraform",
    features: {
        testplans: "disabled",
        artifacts: "disabled",
    },
});
import pulumi
import pulumi_azuredevops as azuredevops
example = azuredevops.Project("example",
    name="Example Project",
    visibility="private",
    version_control="Git",
    work_item_template="Agile",
    description="Managed by Terraform",
    features={
        "testplans": "disabled",
        "artifacts": "disabled",
    })
package main
import (
	"github.com/pulumi/pulumi-azuredevops/sdk/v3/go/azuredevops"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := azuredevops.NewProject(ctx, "example", &azuredevops.ProjectArgs{
			Name:             pulumi.String("Example Project"),
			Visibility:       pulumi.String("private"),
			VersionControl:   pulumi.String("Git"),
			WorkItemTemplate: pulumi.String("Agile"),
			Description:      pulumi.String("Managed by Terraform"),
			Features: pulumi.StringMap{
				"testplans": pulumi.String("disabled"),
				"artifacts": pulumi.String("disabled"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureDevOps = Pulumi.AzureDevOps;
return await Deployment.RunAsync(() => 
{
    var example = new AzureDevOps.Project("example", new()
    {
        Name = "Example Project",
        Visibility = "private",
        VersionControl = "Git",
        WorkItemTemplate = "Agile",
        Description = "Managed by Terraform",
        Features = 
        {
            { "testplans", "disabled" },
            { "artifacts", "disabled" },
        },
    });
});
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 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 example = new Project("example", ProjectArgs.builder()
            .name("Example Project")
            .visibility("private")
            .versionControl("Git")
            .workItemTemplate("Agile")
            .description("Managed by Terraform")
            .features(Map.ofEntries(
                Map.entry("testplans", "disabled"),
                Map.entry("artifacts", "disabled")
            ))
            .build());
    }
}
resources:
  example:
    type: azuredevops:Project
    properties:
      name: Example Project
      visibility: private
      versionControl: Git
      workItemTemplate: Agile
      description: Managed by Terraform
      features:
        testplans: disabled
        artifacts: disabled
Relevant Links
PAT Permissions Required
- Project & Team: Read, Write, & Manage
Create Project Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Project(name: string, args?: ProjectArgs, opts?: CustomResourceOptions);@overload
def Project(resource_name: str,
            args: Optional[ProjectArgs] = None,
            opts: Optional[ResourceOptions] = None)
@overload
def Project(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            features: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            version_control: Optional[str] = None,
            visibility: Optional[str] = None,
            work_item_template: Optional[str] = None)func NewProject(ctx *Context, name string, args *ProjectArgs, opts ...ResourceOption) (*Project, error)public Project(string name, ProjectArgs? args = null, CustomResourceOptions? opts = null)
public Project(String name, ProjectArgs args)
public Project(String name, ProjectArgs args, CustomResourceOptions options)
type: azuredevops:Project
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ProjectArgs
- 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 ProjectArgs
- 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 ProjectArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ProjectArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ProjectArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var projectResource = new AzureDevOps.Project("projectResource", new()
{
    Description = "string",
    Features = 
    {
        { "string", "string" },
    },
    Name = "string",
    VersionControl = "string",
    Visibility = "string",
    WorkItemTemplate = "string",
});
example, err := azuredevops.NewProject(ctx, "projectResource", &azuredevops.ProjectArgs{
	Description: pulumi.String("string"),
	Features: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Name:             pulumi.String("string"),
	VersionControl:   pulumi.String("string"),
	Visibility:       pulumi.String("string"),
	WorkItemTemplate: pulumi.String("string"),
})
var projectResource = new Project("projectResource", ProjectArgs.builder()
    .description("string")
    .features(Map.of("string", "string"))
    .name("string")
    .versionControl("string")
    .visibility("string")
    .workItemTemplate("string")
    .build());
project_resource = azuredevops.Project("projectResource",
    description="string",
    features={
        "string": "string",
    },
    name="string",
    version_control="string",
    visibility="string",
    work_item_template="string")
const projectResource = new azuredevops.Project("projectResource", {
    description: "string",
    features: {
        string: "string",
    },
    name: "string",
    versionControl: "string",
    visibility: "string",
    workItemTemplate: "string",
});
type: azuredevops:Project
properties:
    description: string
    features:
        string: string
    name: string
    versionControl: string
    visibility: string
    workItemTemplate: string
Project Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Project resource accepts the following input properties:
- Description string
- The Description of the Project.
- Features Dictionary<string, string>
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- Name string
- The Project Name.
- VersionControl string
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- Visibility string
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- WorkItem stringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- Description string
- The Description of the Project.
- Features map[string]string
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- Name string
- The Project Name.
- VersionControl string
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- Visibility string
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- WorkItem stringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description String
- The Description of the Project.
- features Map<String,String>
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name String
- The Project Name.
- versionControl String
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility String
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- workItem StringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description string
- The Description of the Project.
- features {[key: string]: string}
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name string
- The Project Name.
- versionControl string
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility string
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- workItem stringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description str
- The Description of the Project.
- features Mapping[str, str]
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name str
- The Project Name.
- version_control str
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility str
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- work_item_ strtemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description String
- The Description of the Project.
- features Map<String>
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name String
- The Project Name.
- versionControl String
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility String
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- workItem StringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
Outputs
All input properties are implicitly available as output properties. Additionally, the Project resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- ProcessTemplate stringId 
- The Process Template ID used by the Project.
- Id string
- The provider-assigned unique ID for this managed resource.
- ProcessTemplate stringId 
- The Process Template ID used by the Project.
- id String
- The provider-assigned unique ID for this managed resource.
- processTemplate StringId 
- The Process Template ID used by the Project.
- id string
- The provider-assigned unique ID for this managed resource.
- processTemplate stringId 
- The Process Template ID used by the Project.
- id str
- The provider-assigned unique ID for this managed resource.
- process_template_ strid 
- The Process Template ID used by the Project.
- id String
- The provider-assigned unique ID for this managed resource.
- processTemplate StringId 
- The Process Template ID used by the Project.
Look up Existing Project Resource
Get an existing Project 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?: ProjectState, opts?: CustomResourceOptions): Project@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        description: Optional[str] = None,
        features: Optional[Mapping[str, str]] = None,
        name: Optional[str] = None,
        process_template_id: Optional[str] = None,
        version_control: Optional[str] = None,
        visibility: Optional[str] = None,
        work_item_template: Optional[str] = None) -> Projectfunc GetProject(ctx *Context, name string, id IDInput, state *ProjectState, opts ...ResourceOption) (*Project, error)public static Project Get(string name, Input<string> id, ProjectState? state, CustomResourceOptions? opts = null)public static Project get(String name, Output<String> id, ProjectState 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.
- Description string
- The Description of the Project.
- Features Dictionary<string, string>
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- Name string
- The Project Name.
- ProcessTemplate stringId 
- The Process Template ID used by the Project.
- VersionControl string
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- Visibility string
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- WorkItem stringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- Description string
- The Description of the Project.
- Features map[string]string
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- Name string
- The Project Name.
- ProcessTemplate stringId 
- The Process Template ID used by the Project.
- VersionControl string
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- Visibility string
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- WorkItem stringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description String
- The Description of the Project.
- features Map<String,String>
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name String
- The Project Name.
- processTemplate StringId 
- The Process Template ID used by the Project.
- versionControl String
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility String
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- workItem StringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description string
- The Description of the Project.
- features {[key: string]: string}
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name string
- The Project Name.
- processTemplate stringId 
- The Process Template ID used by the Project.
- versionControl string
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility string
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- workItem stringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description str
- The Description of the Project.
- features Mapping[str, str]
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name str
- The Project Name.
- process_template_ strid 
- The Process Template ID used by the Project.
- version_control str
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility str
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- work_item_ strtemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
- description String
- The Description of the Project.
- features Map<String>
- Defines the status ( - enabled,- disabled) of the project features. Valid features are- boards,- repositories,- pipelines,- testplans,- artifacts- NOTE: It's possible to define project features both within the - azuredevops.ProjectFeaturesresource and via the- featuresblock by using the- azuredevops.Projectresource. However it's not possible to use both methods to manage features, since there'll be conflicts.
- name String
- The Project Name.
- processTemplate StringId 
- The Process Template ID used by the Project.
- versionControl String
- Specifies the version control system. Valid values: GitorTfvc. Defaults toGit.
- visibility String
- Specifies the visibility of the Project. Valid values: privateorpublic. Defaults toprivate.
- workItem StringTemplate 
- Specifies the work item template. Valid values: Agile,Basic,CMMI,Scrumor a custom, pre-existing one. Defaults toAgile. An empty string will use the parent organization default.
Import
Azure DevOps Projects can be imported using the project name or by the project Guid, e.g.
$ pulumi import azuredevops:index/project:Project example "Example Project"
or
$ pulumi import azuredevops:index/project:Project example 00000000-0000-0000-0000-000000000000
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure DevOps pulumi/pulumi-azuredevops
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the azuredevopsTerraform Provider.