diff options
Diffstat (limited to 'routers/api/v1/repo/label.go')
-rw-r--r-- | routers/api/v1/repo/label.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/routers/api/v1/repo/label.go b/routers/api/v1/repo/label.go index 383868beda..a2bf3a9e40 100644 --- a/routers/api/v1/repo/label.go +++ b/routers/api/v1/repo/label.go @@ -5,6 +5,8 @@ package repo import ( + "strconv" + api "code.gitea.io/sdk/gitea" "code.gitea.io/gitea/models" @@ -28,7 +30,16 @@ func ListLabels(ctx *context.APIContext) { // GetLabel get label by repository and label id func GetLabel(ctx *context.APIContext) { - label, err := models.GetLabelInRepoByID(ctx.Repo.Repository.ID, ctx.ParamsInt64(":id")) + var ( + label *models.Label + err error + ) + strID := ctx.Params(":id") + if intID, err2 := strconv.ParseInt(strID, 10, 64); err2 != nil { + label, err = models.GetLabelInRepoByName(ctx.Repo.Repository.ID, strID) + } else { + label, err = models.GetLabelInRepoByID(ctx.Repo.Repository.ID, intID) + } if err != nil { if models.IsErrLabelNotExist(err) { ctx.Status(404) |