layout | page_title | description |
---|---|---|
azuredevops |
AzureDevops: azuredevops_branch_policy_build_validation |
Manages a build validation branch policy within Azure DevOps project. |
Manages a build validation branch policy within Azure DevOps.
resource "azuredevops_project" "p" {
name = "Sample Project"
}
resource "azuredevops_git_repository" "r" {
project_id = azuredevops_project.p.id
name = "Sample Repo"
initialization {
init_type = "Clean"
}
}
resource "azuredevops_build_definition" "b" {
project_id = azuredevops_project.p.id
name = "Sample Build Definition"
repository {
repo_type = "TfsGit"
repo_id = azuredevops_git_repository.r.id
yml_path = "azure-pipelines.yml"
}
}
resource "azuredevops_branch_policy_build_validation" "p" {
project_id = azuredevops_project.p.id
enabled = true
blocking = true
settings {
display_name = "Don't break the build!"
build_definition_id = azuredevops_build_definition.b.id
valid_duration = 720
filename_patterns = [
"/WebApp/*",
"!/WebApp/Tests/*",
"*.cs"
]
scope {
repository_id = azuredevops_git_repository.r.id
repository_ref = azuredevops_git_repository.r.default_branch
match_type = "Exact"
}
scope {
repository_id = azuredevops_git_repository.r.id
repository_ref = "refs/heads/releases"
match_type = "Prefix"
}
}
}
The following arguments are supported:
project_id
- (Required) The ID of the project in which the policy will be created.enabled
- (Optional) A flag indicating if the policy should be enabled. Defaults totrue
.blocking
- (Optional) A flag indicating if the policy should be blocking. Defaults totrue
.settings
- (Required) Configuration for the policy. This block must be defined exactly once.
A settings
block supports the following:
build_definition_id
- (Required) The ID of the build to monitor for the policy.display_name
- (Required) The display name for the policy.manual_queue_only
- (Optional) If set to true, the build will need to be manually queued. Defaults tofalse
queue_on_source_update_only
- (Optional) True if the build should queue on source updates only. Defaults totrue
.valid_duration
- (Optional) The number of minutes for which the build is valid. If0
, the build will not expire. Defaults to720
(12 hours).filename_patterns
- (Optional) If a path filter is set, the policy wil only apply when files which match the filter are changes. Not setting this field means that the policy will always apply. You can specify absolute paths and wildcards. Example:["/WebApp/Models/Data.cs", "/WebApp/*", "*.cs"]
. Paths prefixed with "!" are excluded. Example:["/WebApp/*", "!/WebApp/Tests/*"]
. Order is significant.scope
(Required) Controls which repositories and branches the policy will be enabled for. This block must be defined at least once.
A settings
scope
block supports the following:
repository_id
- (Optional) The repository ID. Needed only if the scope of the policy will be limited to a single repository.repository_ref
- (Optional) The ref pattern to use for the match. Ifmatch_type
isExact
, this should be a qualified ref such asrefs/heads/master
. Ifmatch_type
isPrefix
, this should be a ref path such asrefs/heads/releases
.match_type
(Optional) The match type to use when applying the policy. Supported values areExact
(default) orPrefix
.
In addition to all arguments above, the following attributes are exported:
id
- The ID of branch policy configuration.
Azure DevOps Branch Policies can be imported using the project ID and policy configuration ID:
terraform import azuredevops_branch_policy_build_validation.p aa4a9756-8a86-4588-86d7-b3ee2d88b033/60