Skip to content

Commit f2b6133

Browse files
committed
1 parent ad9bcd6 commit f2b6133

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

gitea/pull.go

+20-3
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,27 @@ func (c *Client) EditPullRequest(owner, repo string, index int64, opt EditPullRe
132132
jsonHeader, bytes.NewReader(body), pr)
133133
}
134134

135+
// MergePullRequestOption options when merging a pull request
136+
type MergePullRequestOption struct {
137+
// required: true
138+
// enum: merge,rebase,rebase-merge,squash
139+
Do string `json:"Do" binding:"Required"`
140+
MergeTitleField string `json:"MergeTitleField"`
141+
MergeMessageField string `json:"MergeMessageField"`
142+
}
143+
// MergePullRequestResponse response when merging a pull request
144+
type MergePullRequestResponse struct {
145+
}
146+
135147
// MergePullRequest merge a PR to repository by PR id
136-
func (c *Client) MergePullRequest(owner, repo string, index int64) error {
137-
_, err := c.getResponse("POST", fmt.Sprintf("/repos/%s/%s/pulls/%d/merge", owner, repo, index), nil, nil)
138-
return err
148+
func (c *Client) MergePullRequest(owner, repo string, index int64, opt MergePullRequestOption) (*MergePullRequestResponse, error) {
149+
body, err := json.Marshal(&opt)
150+
if err != nil {
151+
return nil, err
152+
}
153+
response := new(MergePullRequestResponse)
154+
return response, c.getParsedResponse("POST", fmt.Sprintf("/repos/%s/%s/pulls/%d/merge", owner, repo, index),
155+
jsonHeader, bytes.NewReader(body), response)
139156
}
140157

141158
// IsPullRequestMerged test if one PR is merged to one repository

0 commit comments

Comments
 (0)