From b645cd3079e57db1285b026e1458005ea6879be0 Mon Sep 17 00:00:00 2001 From: a1012112796 <1012112796@qq.com> Date: Fri, 8 May 2020 15:49:56 +0800 Subject: [PATCH] Add default CommitID for create pull review api If user create pull review through api but not set CommitID, I think it's necessary to use last headCommitID as default seting, or this review will be considered as stale review which is wrong Signed-off-by: a1012112796 <1012112796@qq.com> --- routers/api/v1/repo/pull_review.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/routers/api/v1/repo/pull_review.go b/routers/api/v1/repo/pull_review.go index b3772b00a9894..44559d70ed993 100644 --- a/routers/api/v1/repo/pull_review.go +++ b/routers/api/v1/repo/pull_review.go @@ -12,6 +12,7 @@ import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/convert" + "code.gitea.io/gitea/modules/git" api "code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/routers/api/v1/utils" pull_service "code.gitea.io/gitea/services/pull" @@ -313,6 +314,24 @@ func CreatePullReview(ctx *context.APIContext, opts api.CreatePullReviewOptions) return } + // if CommitID is empty, set it as lastCommitID + if opts.CommitID == "" { + gitRepo, err := git.OpenRepository(pr.Issue.Repo.RepoPath()) + if err != nil { + ctx.ServerError("git.OpenRepository", err) + return + } + defer gitRepo.Close() + + headCommitID, err := gitRepo.GetRefCommitID(pr.GetGitRefName()) + if err != nil { + ctx.ServerError("GetRefCommitID", err) + return + } + + opts.CommitID = headCommitID + } + // create review comments for _, c := range opts.Comments { line := c.NewLineNum