Manages a project within Azure DevOps.
resource "azuredevops_project" "example" {
name = "Example Project"
visibility = "private"
version_control = "Git"
work_item_template = "Agile"
description = "Managed by Terraform"
features = {
"testplans" = "disabled"
"artifacts" = "disabled"
}
}
The following arguments are supported:
name
- (Required) The Project Name.description
- (Optional) The Description of the Project.visibility
- (Optional) Specifies the visibility of the Project. Valid values: private
or public
. Defaults to private
.version_control
- (Optional) Specifies the version control system. Valid values: Git
or Tfvc
. Defaults to Git
.work_item_template
- (Optional) Specifies the work item template. Valid values: Agile
, Basic
, CMMI
, Scrum
or a custom, pre-existing one. Defaults to Agile
. An empty string will use the parent organization default.features
- (Optional) 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_project_features
resource and via thefeatures
block by using theazuredevops_project
resource. However it's not possible to use both methods to manage features, since there'll be conflicts.
In addition to all arguments above, the following attributes are exported:
id
- The Project ID of the Project.process_template_id
- The Process Template ID used by the Project.Azure DevOps Projects can be imported using the project name or by the project Guid, e.g.
terraform import azuredevops_project.example "Example Project"
or
terraform import azuredevops_project.example 00000000-0000-0000-0000-000000000000