Skip to content

Commit f27e221

Browse files
authored
Merge pull request #783 from marceloboeira/issue-782
Add printing_merge_request_link_enabled attribute to projects
2 parents fc9b6ba + 523b8f2 commit f27e221

File tree

6 files changed

+39
-15
lines changed

6 files changed

+39
-15
lines changed

docs/data-sources/project.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ data "gitlab_project" "example" {
4343
- **namespace_id** (Number) The namespace (group or user) of the project. Defaults to your user.
4444
- **path** (String) The path of the repository.
4545
- **pipelines_enabled** (Boolean) Enable pipelines for the project.
46+
- **printing_merge_request_link_enabled** (Boolean) Show link to create/view merge request when pushing from the command line
4647
- **push_rules** (List of Object) Push rules for the project. (see [below for nested schema](#nestedatt--push_rules))
4748
- **remove_source_branch_after_merge** (Boolean) Enable `Delete source branch` option by default for all new merge requests
4849
- **request_access_enabled** (Boolean) Allow users to request member access.

docs/resources/project.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ resource "gitlab_project" "example-two" {
7373
- **pages_access_level** (String) Enable pages access control
7474
- **path** (String) The path of the repository.
7575
- **pipelines_enabled** (Boolean) Enable pipelines for the project.
76+
- **printing_merge_request_link_enabled** (Boolean) Show link to create/view merge request when pushing from the command line
7677
- **push_rules** (Block List, Max: 1) Push rules for the project. (see [below for nested schema](#nestedblock--push_rules))
7778
- **remove_source_branch_after_merge** (Boolean) Enable `Delete source branch` option by default for all new merge requests.
7879
- **request_access_enabled** (Boolean) Allow users to request member access.

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
@@ -203,6 +203,12 @@ var resourceGitLabProjectSchema = map[string]*schema.Schema{
203203
Type: schema.TypeBool,
204204
Optional: true,
205205
},
206+
"printing_merge_request_link_enabled": {
207+
Description: "Show link to create/view merge request when pushing from the command line",
208+
Type: schema.TypeBool,
209+
Optional: true,
210+
Default: true,
211+
},
206212
"packages_enabled": {
207213
Description: "Enable packages repository for the project.",
208214
Type: schema.TypeBool,
@@ -422,6 +428,7 @@ func resourceGitlabProjectSetToState(client *gitlab.Client, d *schema.ResourceDa
422428
d.Set("squash_option", project.SquashOption)
423429
}
424430
d.Set("remove_source_branch_after_merge", project.RemoveSourceBranchAfterMerge)
431+
d.Set("printing_merge_request_link_enabled", project.PrintingMergeRequestLinkEnabled)
425432
d.Set("packages_enabled", project.PackagesEnabled)
426433
d.Set("pages_access_level", string(project.PagesAccessLevel))
427434
d.Set("mirror", project.Mirror)
@@ -458,6 +465,7 @@ func resourceGitlabProjectCreate(ctx context.Context, d *schema.ResourceData, me
458465
SharedRunnersEnabled: gitlab.Bool(d.Get("shared_runners_enabled").(bool)),
459466
RemoveSourceBranchAfterMerge: gitlab.Bool(d.Get("remove_source_branch_after_merge").(bool)),
460467
PackagesEnabled: gitlab.Bool(d.Get("packages_enabled").(bool)),
468+
PrintingMergeRequestLinkEnabled: gitlab.Bool(d.Get("printing_merge_request_link_enabled").(bool)),
461469
Mirror: gitlab.Bool(d.Get("mirror").(bool)),
462470
MirrorTriggerBuilds: gitlab.Bool(d.Get("mirror_trigger_builds").(bool)),
463471
BuildCoverageRegex: gitlab.String(d.Get("build_coverage_regex").(string)),
@@ -829,6 +837,10 @@ func resourceGitlabProjectUpdate(ctx context.Context, d *schema.ResourceData, me
829837
options.RemoveSourceBranchAfterMerge = gitlab.Bool(d.Get("remove_source_branch_after_merge").(bool))
830838
}
831839

840+
if d.HasChange("printing_merge_request_link_enabled") {
841+
options.PrintingMergeRequestLinkEnabled = gitlab.Bool(d.Get("printing_merge_request_link_enabled").(bool))
842+
}
843+
832844
if d.HasChange("packages_enabled") {
833845
options.PackagesEnabled = gitlab.Bool(d.Get("packages_enabled").(bool))
834846
}

internal/provider/resource_gitlab_project_test.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,17 @@ func TestAccGitlabProject_basic(t *testing.T) {
4444
MergeMethod: gitlab.FastForwardMerge,
4545
OnlyAllowMergeIfPipelineSucceeds: true,
4646
OnlyAllowMergeIfAllDiscussionsAreResolved: true,
47-
SquashOption: gitlab.SquashOptionDefaultOff,
48-
AllowMergeOnSkippedPipeline: false,
49-
Archived: false, // needless, but let's make this explicit
50-
PackagesEnabled: true,
51-
PagesAccessLevel: gitlab.PublicAccessControl,
52-
BuildCoverageRegex: "foo",
53-
IssuesTemplate: "",
54-
MergeRequestsTemplate: "",
55-
CIConfigPath: ".gitlab-ci.yml@mynamespace/myproject",
56-
CIForwardDeploymentEnabled: true,
47+
SquashOption: gitlab.SquashOptionDefaultOff,
48+
AllowMergeOnSkippedPipeline: false,
49+
Archived: false, // needless, but let's make this explicit
50+
PackagesEnabled: true,
51+
PrintingMergeRequestLinkEnabled: true,
52+
PagesAccessLevel: gitlab.PublicAccessControl,
53+
BuildCoverageRegex: "foo",
54+
IssuesTemplate: "",
55+
MergeRequestsTemplate: "",
56+
CIConfigPath: ".gitlab-ci.yml@mynamespace/myproject",
57+
CIForwardDeploymentEnabled: true,
5758
}
5859

5960
defaultsMainBranch = defaults
@@ -91,6 +92,7 @@ func TestAccGitlabProject_basic(t *testing.T) {
9192
SharedRunnersEnabled: false,
9293
Visibility: gitlab.PublicVisibility,
9394
MergeMethod: gitlab.FastForwardMerge,
95+
PrintingMergeRequestLinkEnabled: true,
9496
OnlyAllowMergeIfPipelineSucceeds: true,
9597
OnlyAllowMergeIfAllDiscussionsAreResolved: true,
9698
SquashOption: gitlab.SquashOptionDefaultOn,
@@ -482,6 +484,7 @@ func TestAccGitlabProject_willError(t *testing.T) {
482484
SharedRunnersEnabled: true,
483485
Visibility: gitlab.PublicVisibility,
484486
MergeMethod: gitlab.FastForwardMerge,
487+
PrintingMergeRequestLinkEnabled: true,
485488
OnlyAllowMergeIfPipelineSucceeds: true,
486489
OnlyAllowMergeIfAllDiscussionsAreResolved: true,
487490
SquashOption: gitlab.SquashOptionDefaultOff,
@@ -589,11 +592,12 @@ func TestAccGitlabProject_transfer(t *testing.T) {
589592
MergeMethod: gitlab.NoFastForwardMerge,
590593
OnlyAllowMergeIfPipelineSucceeds: false,
591594
OnlyAllowMergeIfAllDiscussionsAreResolved: false,
592-
SquashOption: gitlab.SquashOptionDefaultOff,
593-
PackagesEnabled: true,
594-
PagesAccessLevel: gitlab.PrivateAccessControl,
595-
BuildCoverageRegex: "foo",
596-
CIForwardDeploymentEnabled: true,
595+
SquashOption: gitlab.SquashOptionDefaultOff,
596+
PackagesEnabled: true,
597+
PrintingMergeRequestLinkEnabled: true,
598+
PagesAccessLevel: gitlab.PrivateAccessControl,
599+
BuildCoverageRegex: "foo",
600+
CIForwardDeploymentEnabled: true,
597601
}
598602

599603
resource.Test(t, resource.TestCase{

0 commit comments

Comments
 (0)