Skip to content

Commit f5dc2c5

Browse files
committed
Add printing_merge_request_link_enabled attribute to projects
As mentioned on gitlabhq#782, the field is available on GitLab but still not possible to use on terraform Reference: - gitlabhq#782
1 parent 8e64303 commit f5dc2c5

File tree

6 files changed

+21
-2
lines changed

6 files changed

+21
-2
lines changed

docs/data-sources/project.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ data "gitlab_project" "example" {
4545
- **pipelines_enabled** (Boolean) Enable pipelines for the project.
4646
- **push_rules** (List of Object) Push rules for the project. (see [below for nested schema](#nestedatt--push_rules))
4747
- **remove_source_branch_after_merge** (Boolean) Enable `Delete source branch` option by default for all new merge requests
48+
- **printing_merge_request_link_enabled** (Boolean) Show link to create/view merge request when pushing from the command line
4849
- **request_access_enabled** (Boolean) Allow users to request member access.
4950
- **runners_token** (String) Registration token to use during runner setup.
5051
- **snippets_enabled** (Boolean) Enable snippets for the project.
@@ -69,5 +70,3 @@ Read-Only:
6970
- **member_check** (Boolean)
7071
- **prevent_secrets** (Boolean)
7172
- **reject_unsigned_commits** (Boolean)
72-
73-

docs/resources/project.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ resource "gitlab_project" "example-two" {
7474
- **pipelines_enabled** (Boolean) Enable pipelines for the project.
7575
- **push_rules** (Block List, Max: 1) Push rules for the project. (see [below for nested schema](#nestedblock--push_rules))
7676
- **remove_source_branch_after_merge** (Boolean) Enable `Delete source branch` option by default for all new merge requests.
77+
- **printing_merge_request_link_enabled** (Boolean) Show link to create/view merge request when pushing from the command line
7778
- **request_access_enabled** (Boolean) Allow users to request member access.
7879
- **shared_runners_enabled** (Boolean) Enable shared runners for this project.
7980
- **snippets_enabled** (Boolean) Enable snippets for the project.

examples/gitlab-managed-state/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ resource "gitlab_project" "api" {
4141
only_allow_merge_if_all_discussions_are_resolved = true
4242
only_allow_merge_if_pipeline_succeeds = true
4343
remove_source_branch_after_merge = true
44+
printing_merge_request_link_enabled = true
4445

4546
container_registry_enabled = false
4647
lfs_enabled = false

internal/provider/data_source_gitlab_project.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,11 @@ var _ = registerDataSource("gitlab_project", func() *schema.Resource {
134134
Type: schema.TypeBool,
135135
Computed: true,
136136
},
137+
"printing_merge_request_link_enabled": {
138+
Description: "Show link to create/view merge request when pushing from the command line",
139+
Type: schema.TypeBool,
140+
Computed: true,
141+
},
137142
// lintignore: S031 // TODO: Resolve this tfproviderlint issue
138143
"push_rules": {
139144
Description: "Push rules for the project.",

internal/provider/resource_gitlab_project.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,12 @@ var resourceGitLabProjectSchema = map[string]*schema.Schema{
204204
Type: schema.TypeBool,
205205
Optional: true,
206206
},
207+
"printing_merge_request_link_enabled": {
208+
Description: "Show link to create/view merge request when pushing from the command line",
209+
Type: schema.TypeBool,
210+
Optional: true,
211+
Default: true,
212+
},
207213
"packages_enabled": {
208214
Description: "Enable packages repository for the project.",
209215
Type: schema.TypeBool,
@@ -413,6 +419,7 @@ func resourceGitlabProjectSetToState(d *schema.ResourceData, project *gitlab.Pro
413419
d.Set("archived", project.Archived)
414420
d.Set("squash_option", project.SquashOption)
415421
d.Set("remove_source_branch_after_merge", project.RemoveSourceBranchAfterMerge)
422+
d.Set("printing_merge_request_link_enabled", project.PrintingMergeRequestLinkEnabled)
416423
d.Set("packages_enabled", project.PackagesEnabled)
417424
d.Set("pages_access_level", string(project.PagesAccessLevel))
418425
d.Set("mirror", project.Mirror)
@@ -449,6 +456,7 @@ func resourceGitlabProjectCreate(ctx context.Context, d *schema.ResourceData, me
449456
SquashOption: stringToSquashOptionValue(d.Get("squash_option").(string)),
450457
RemoveSourceBranchAfterMerge: gitlab.Bool(d.Get("remove_source_branch_after_merge").(bool)),
451458
PackagesEnabled: gitlab.Bool(d.Get("packages_enabled").(bool)),
459+
PrintingMergeRequestLinkEnabled: gitlab.Bool(d.Get("printing_merge_request_link_enabled").(bool)),
452460
Mirror: gitlab.Bool(d.Get("mirror").(bool)),
453461
MirrorTriggerBuilds: gitlab.Bool(d.Get("mirror_trigger_builds").(bool)),
454462
BuildCoverageRegex: gitlab.String(d.Get("build_coverage_regex").(string)),
@@ -773,6 +781,10 @@ func resourceGitlabProjectUpdate(ctx context.Context, d *schema.ResourceData, me
773781
options.RemoveSourceBranchAfterMerge = gitlab.Bool(d.Get("remove_source_branch_after_merge").(bool))
774782
}
775783

784+
if d.HasChange("printing_merge_request_link_enabled") {
785+
options.PrintingMergeRequestLinkEnabled = gitlab.Bool(d.Get("printing_merge_request_link_enabled").(bool))
786+
}
787+
776788
if d.HasChange("packages_enabled") {
777789
options.PackagesEnabled = gitlab.Bool(d.Get("packages_enabled").(bool))
778790
}

internal/provider/resource_gitlab_project_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,7 @@ func TestAccGitlabProject_willError(t *testing.T) {
463463
SharedRunnersEnabled: true,
464464
Visibility: gitlab.PublicVisibility,
465465
MergeMethod: gitlab.FastForwardMerge,
466+
PrintingMergeRequestLinkEnabled: true,
466467
OnlyAllowMergeIfPipelineSucceeds: true,
467468
OnlyAllowMergeIfAllDiscussionsAreResolved: true,
468469
SquashOption: gitlab.SquashOptionDefaultOff,

0 commit comments

Comments
 (0)