Browse Source

[API] Add ref to create/edit issue options & deprecated assignee (#13992)

* API: Add ref to create/edit issue options

* deprecate Assignee in favour of Assignees
mj-v1.14.3
6543 2 years ago
committed by GitHub
parent
commit
e2aa701812
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      modules/structs/issue.go
  2. 8
      routers/api/v1/repo/issue.go
  3. 11
      templates/swagger/v1_json.tmpl

14
modules/structs/issue.go

@ -50,8 +50,9 @@ type Issue struct {
Ref string `json:"ref"`
Labels []*Label `json:"labels"`
Milestone *Milestone `json:"milestone"`
Assignee *User `json:"assignee"`
Assignees []*User `json:"assignees"`
// deprecated
Assignee *User `json:"assignee"`
Assignees []*User `json:"assignees"`
// Whether the issue is open or closed
//
// type: string
@ -83,7 +84,8 @@ type CreateIssueOption struct {
// required:true
Title string `json:"title" binding:"Required"`
Body string `json:"body"`
// username of assignee
Ref string `json:"ref"`
// deprecated
Assignee string `json:"assignee"`
Assignees []string `json:"assignees"`
// swagger:strfmt date-time
@ -97,8 +99,10 @@ type CreateIssueOption struct {
// EditIssueOption options for editing an issue
type EditIssueOption struct {
Title string `json:"title"`
Body *string `json:"body"`
Title string `json:"title"`
Body *string `json:"body"`
Ref *string `json:"ref"`
// deprecated
Assignee *string `json:"assignee"`
Assignees []string `json:"assignees"`
Milestone *int64 `json:"milestone"`

8
routers/api/v1/repo/issue.go

@ -486,6 +486,7 @@ func CreateIssue(ctx *context.APIContext, form api.CreateIssueOption) {
PosterID: ctx.User.ID,
Poster: ctx.User,
Content: form.Body,
Ref: form.Ref,
DeadlineUnix: deadlineUnix,
}
@ -625,6 +626,13 @@ func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
if form.Body != nil {
issue.Content = *form.Body
}
if form.Ref != nil {
err = issue_service.ChangeIssueRef(issue, ctx.User, *form.Ref)
if err != nil {
ctx.Error(http.StatusInternalServerError, "UpdateRef", err)
return
}
}
// Update or remove the deadline, only if set and allowed
if (form.Deadline != nil || form.RemoveDeadline != nil) && canWrite {

11
templates/swagger/v1_json.tmpl

@ -11937,7 +11937,7 @@
],
"properties": {
"assignee": {
"description": "username of assignee",
"description": "deprecated",
"type": "string",
"x-go-name": "Assignee"
},
@ -11976,6 +11976,10 @@
"format": "int64",
"x-go-name": "Milestone"
},
"ref": {
"type": "string",
"x-go-name": "Ref"
},
"title": {
"type": "string",
"x-go-name": "Title"
@ -12778,6 +12782,7 @@
"type": "object",
"properties": {
"assignee": {
"description": "deprecated",
"type": "string",
"x-go-name": "Assignee"
},
@ -12802,6 +12807,10 @@
"format": "int64",
"x-go-name": "Milestone"
},
"ref": {
"type": "string",
"x-go-name": "Ref"
},
"state": {
"type": "string",
"x-go-name": "State"

Loading…
Cancel
Save