From 119173130af174e12bb3dcd6d3b88b3f7d5e9798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=99=BA=E8=B6=85?= <1012112796@qq.com> Date: Sat, 9 May 2020 02:50:23 +0800 Subject: [PATCH] Add default CommitID for create pull review api (#11334) 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 b3772b00a9..44559d70ed 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