Skip to content

Commit 0cb40f9

Browse files
authored
Merge pull request #35 from mineiros-io/mariux/do-not-always-create-issue-labels
Add issue_labels_create argument
2 parents e86fd39 + dda270f commit 0cb40f9

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,10 @@ Specify if github default labels will be handled by terraform. This should be de
296296
replaced by labels set in `issue_labels` argument.
297297
Default is `true`.
298298

299+
- **[`issue_labels_create`](#issue_label-object-attributes)**: *(Optional `bool`)*
300+
Specify whether you want to force or suppress the creation of issues labels.
301+
Default is `true` if `has_issues` is `true` or `issue_labels` is non-empty, otherwise default is `false`.
302+
299303
##### Projects Configuration
300304
- **[`projects`](#project-object-attributes)**: *(Optional `list(project)`)*
301305
This resource allows you to create and manage projects for GitHub repository.
@@ -326,6 +330,7 @@ The following top-level arguments can be set as defaults:
326330
`license_template`,
327331
`default_branch`,
328332
`topics`,
333+
`issue_labels_create`,
329334
`issue_labels_merge_with_github_labels`.
330335
Module defaults are used for all arguments that are not set in `defaults`.
331336
Using top level arguments override defaults set by this argument.

main.tf

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ locals {
2323
standard_topics = var.topics == null ? lookup(var.defaults, "topics", []) : var.topics
2424
topics = concat(local.standard_topics, var.extra_topics)
2525
template = var.template == null ? [] : [var.template]
26+
issue_labels_create = var.issue_labels_create == null ? lookup(var.defaults, "issue_labels_create", local.issue_labels_create_computed) : var.issue_labels_create
27+
28+
issue_labels_create_computed = local.has_issues || length(var.issue_labels) > 0
2629

2730
# for readability
2831
var_gh_labels = var.issue_labels_merge_with_github_labels
@@ -240,7 +243,7 @@ locals {
240243
}
241244

242245
resource "github_issue_label" "label" {
243-
for_each = local.issue_labels
246+
for_each = local.issue_labels_create ? local.issue_labels : {}
244247

245248
repository = github_repository.repository.name
246249
name = each.value.name

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,12 @@ variable "issue_labels_merge_with_github_labels" {
324324
default = null
325325
}
326326

327+
variable "issue_labels_create" {
328+
description = "Specify whether you want to force or suppress the creation of issues labels."
329+
type = bool
330+
default = null
331+
}
332+
327333
variable "issue_labels" {
328334
description = "Configure a GitHub issue label resource."
329335
type = list(object({

0 commit comments

Comments
 (0)