Skip to content

libre-devops/terraform-azuredevops-project

Repository files navigation

locals {
  date = formatdate("YYYYMM.DD.HHmmss", timestamp())
}

resource "azuredevops_project" "projects" {
  for_each = { for k in var.azdo_projects : k.name => k }

  name               = each.value.name
  description        = each.value.description != null ? each.value.description : "Azure DevOps project created by terraform on ${local.date}"
  visibility         = each.value.visibility
  version_control    = each.value.version_control
  work_item_template = each.value.work_item_template
  features = {
    boards       = each.value.enable_boards == true ? "enabled" : "disabled"
    testplans    = each.value.enable_testplans == true ? "enabled" : "disabled"
    pipelines    = each.value.enable_pipelines == true ? "enabled" : "disabled"
    repositories = each.value.enable_repositories == true ? "enabled" : "disabled"
    artifacts    = each.value.enable_artifacts == true ? "enabled" : "disabled"
  }
}

Requirements

No requirements.

Providers

Name Version
azuredevops n/a

Modules

No modules.

Resources

Name Type
azuredevops_project.projects resource

Inputs

Name Description Type Default Required
azdo_projects The Azure DevOps projects to configure
list(object({
name = string
description = optional(string)
visibility = optional(string)
version_control = optional(string)
work_item_template = optional(string, "")
enable_boards = optional(bool, false)
enable_repositories = optional(bool, true)
enable_pipelines = optional(bool, true)
enable_testplans = optional(bool, false)
enable_artifacts = optional(bool, false)
}))
n/a yes

Outputs

Name Description
project_description The project description
project_id The project id
project_name The project name
project_process_template_id The process template id

About

A module used to deploy projects 📈

Resources

License

Stars

Watchers

Forks

Packages

No packages published