Skip to content

Commit 2f469d9

Browse files
committed
Support organization labels for PRs in API
1 parent 9588d2c commit 2f469d9

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

routers/api/v1/repo/pull.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,10 +241,22 @@ func CreatePullRequest(ctx *context.APIContext, form api.CreatePullRequestOption
241241
return
242242
}
243243

244-
labelIDs = make([]int64, len(labels))
244+
labelIDs = make([]int64, len(form.Labels))
245245
for i := range labels {
246246
labelIDs[i] = labels[i].ID
247247
}
248+
249+
if ctx.Repo.Owner.IsOrganization() {
250+
labels, err = models.GetLabelsInOrgByIDs(ctx.Repo.Owner.ID, form.Labels)
251+
if err != nil {
252+
ctx.Error(http.StatusInternalServerError, "GetLabelsInOrgByIDs", err)
253+
return
254+
}
255+
256+
for i := range labels {
257+
labelIDs[i] = labels[i].ID
258+
}
259+
}
248260
}
249261

250262
if form.Milestone > 0 {
@@ -456,6 +468,18 @@ func EditPullRequest(ctx *context.APIContext, form api.EditPullRequestOption) {
456468
ctx.Error(http.StatusInternalServerError, "ReplaceLabelsError", err)
457469
return
458470
}
471+
472+
if ctx.Repo.Owner.IsOrganization() {
473+
labels, err = models.GetLabelsInOrgByIDs(ctx.Repo.Owner.ID, form.Labels)
474+
if err != nil {
475+
ctx.Error(http.StatusInternalServerError, "GetLabelsInOrgByIDs", err)
476+
return
477+
}
478+
if err = issue.ReplaceLabels(labels, ctx.User); err != nil {
479+
ctx.Error(http.StatusInternalServerError, "ReplaceLabelsError", err)
480+
return
481+
}
482+
}
459483
}
460484

461485
if err = models.UpdateIssueByAPI(issue); err != nil {

0 commit comments

Comments
 (0)