Loading merge_requests.go +4 −0 Changes for merge_requests.go: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -721,6 +721,8 @@ type CreateMergeRequestOptions struct { ReviewerIDs *[]int64 `url:"reviewer_ids,omitempty" json:"reviewer_ids,omitempty"` TargetProjectID *int64 `url:"target_project_id,omitempty" json:"target_project_id,omitempty"` MilestoneID *int64 `url:"milestone_id,omitempty" json:"milestone_id,omitempty"` Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"` MergeAfter *time.Time `url:"merge_after,omitempty" json:"merge_after,omitempty"` RemoveSourceBranch *bool `url:"remove_source_branch,omitempty" json:"remove_source_branch,omitempty"` Squash *bool `url:"squash,omitempty" json:"squash,omitempty"` AllowCollaboration *bool `url:"allow_collaboration,omitempty" json:"allow_collaboration,omitempty"` Loading Loading @@ -758,6 +760,8 @@ type UpdateMergeRequestOptions struct { AddLabels *LabelOptions `url:"add_labels,comma,omitempty" json:"add_labels,omitempty"` RemoveLabels *LabelOptions `url:"remove_labels,comma,omitempty" json:"remove_labels,omitempty"` MilestoneID *int64 `url:"milestone_id,omitempty" json:"milestone_id,omitempty"` Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"` MergeAfter *time.Time `url:"merge_after,omitempty" json:"merge_after,omitempty"` StateEvent *string `url:"state_event,omitempty" json:"state_event,omitempty"` RemoveSourceBranch *bool `url:"remove_source_branch,omitempty" json:"remove_source_branch,omitempty"` Squash *bool `url:"squash,omitempty" json:"squash,omitempty"` Loading merge_requests_test.go +62 −0 Changes for merge_requests_test.go: 62 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -807,3 +807,65 @@ func TestListGroupMergeRequests_search(t *testing.T) { assert.Contains(t, mr.Description, "Renovate") } func TestCreateMergeRequest_milestoneAndMergeAfter(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/projects/1/merge_requests", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPost) testBodyJSON(t, r, map[string]any{ "title": "New MR", "source_branch": "feature", "target_branch": "main", "milestone": "v1.0", "merge_after": "2019-03-15T08:00:00Z", }) mustWriteHTTPResponse(t, w, "testdata/get_merge_request.json") }) // GIVEN options with milestone title and merge_after opt := &CreateMergeRequestOptions{ Title: new("New MR"), SourceBranch: new("feature"), TargetBranch: new("main"), Milestone: new("v1.0"), MergeAfter: mustParseTime("2019-03-15T08:00:00Z"), } // WHEN creating the merge request mr, resp, err := client.MergeRequests.CreateMergeRequest(1, opt) // THEN both attributes are sent require.NoError(t, err) require.NotNil(t, resp) require.NotNil(t, mr) } func TestUpdateMergeRequest_milestoneAndMergeAfter(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/projects/1/merge_requests/2", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) testBodyJSON(t, r, map[string]any{ "milestone": "v1.0", "merge_after": "2019-03-15T08:00:00Z", }) mustWriteHTTPResponse(t, w, "testdata/get_merge_request.json") }) // GIVEN options with milestone title and merge_after opt := &UpdateMergeRequestOptions{ Milestone: new("v1.0"), MergeAfter: mustParseTime("2019-03-15T08:00:00Z"), } // WHEN updating the merge request mr, resp, err := client.MergeRequests.UpdateMergeRequest(1, 2, opt) // THEN both attributes are sent require.NoError(t, err) require.NotNil(t, resp) require.NotNil(t, mr) } Loading
merge_requests.go +4 −0 Changes for merge_requests.go: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -721,6 +721,8 @@ type CreateMergeRequestOptions struct { ReviewerIDs *[]int64 `url:"reviewer_ids,omitempty" json:"reviewer_ids,omitempty"` TargetProjectID *int64 `url:"target_project_id,omitempty" json:"target_project_id,omitempty"` MilestoneID *int64 `url:"milestone_id,omitempty" json:"milestone_id,omitempty"` Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"` MergeAfter *time.Time `url:"merge_after,omitempty" json:"merge_after,omitempty"` RemoveSourceBranch *bool `url:"remove_source_branch,omitempty" json:"remove_source_branch,omitempty"` Squash *bool `url:"squash,omitempty" json:"squash,omitempty"` AllowCollaboration *bool `url:"allow_collaboration,omitempty" json:"allow_collaboration,omitempty"` Loading Loading @@ -758,6 +760,8 @@ type UpdateMergeRequestOptions struct { AddLabels *LabelOptions `url:"add_labels,comma,omitempty" json:"add_labels,omitempty"` RemoveLabels *LabelOptions `url:"remove_labels,comma,omitempty" json:"remove_labels,omitempty"` MilestoneID *int64 `url:"milestone_id,omitempty" json:"milestone_id,omitempty"` Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"` MergeAfter *time.Time `url:"merge_after,omitempty" json:"merge_after,omitempty"` StateEvent *string `url:"state_event,omitempty" json:"state_event,omitempty"` RemoveSourceBranch *bool `url:"remove_source_branch,omitempty" json:"remove_source_branch,omitempty"` Squash *bool `url:"squash,omitempty" json:"squash,omitempty"` Loading
merge_requests_test.go +62 −0 Changes for merge_requests_test.go: 62 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -807,3 +807,65 @@ func TestListGroupMergeRequests_search(t *testing.T) { assert.Contains(t, mr.Description, "Renovate") } func TestCreateMergeRequest_milestoneAndMergeAfter(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/projects/1/merge_requests", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPost) testBodyJSON(t, r, map[string]any{ "title": "New MR", "source_branch": "feature", "target_branch": "main", "milestone": "v1.0", "merge_after": "2019-03-15T08:00:00Z", }) mustWriteHTTPResponse(t, w, "testdata/get_merge_request.json") }) // GIVEN options with milestone title and merge_after opt := &CreateMergeRequestOptions{ Title: new("New MR"), SourceBranch: new("feature"), TargetBranch: new("main"), Milestone: new("v1.0"), MergeAfter: mustParseTime("2019-03-15T08:00:00Z"), } // WHEN creating the merge request mr, resp, err := client.MergeRequests.CreateMergeRequest(1, opt) // THEN both attributes are sent require.NoError(t, err) require.NotNil(t, resp) require.NotNil(t, mr) } func TestUpdateMergeRequest_milestoneAndMergeAfter(t *testing.T) { t.Parallel() mux, client := setup(t) mux.HandleFunc("/api/v4/projects/1/merge_requests/2", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) testBodyJSON(t, r, map[string]any{ "milestone": "v1.0", "merge_after": "2019-03-15T08:00:00Z", }) mustWriteHTTPResponse(t, w, "testdata/get_merge_request.json") }) // GIVEN options with milestone title and merge_after opt := &UpdateMergeRequestOptions{ Milestone: new("v1.0"), MergeAfter: mustParseTime("2019-03-15T08:00:00Z"), } // WHEN updating the merge request mr, resp, err := client.MergeRequests.UpdateMergeRequest(1, 2, opt) // THEN both attributes are sent require.NoError(t, err) require.NotNil(t, resp) require.NotNil(t, mr) }