From 023e61e678dc353fa6c9b0299c37f48e98a3c7af Mon Sep 17 00:00:00 2001
From: sillyguodong <33891828+sillyguodong@users.noreply.github.com>
Date: Sat, 25 Mar 2023 04:05:48 +0800
Subject: [PATCH] Create commit status when event is `pull_request_sync`
 (#23683)

Fix: #23674
If the type of `hook_event` is `pull_request_sync`, also need to insert
a record of `commit_status` into DB.
Because `pull_request` event and `pull_request_sync` event have the same
payload, so the code is reusable.

Screenshot:

![image](https://user-images.githubusercontent.com/33891828/227465436-1b436807-d0b2-4a2b-8890-09d96c7f666d.png)
---
 models/actions/run.go             | 2 +-
 services/actions/commit_status.go | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/models/actions/run.go b/models/actions/run.go
index a711cfee2ecd..1af8f897fa08 100644
--- a/models/actions/run.go
+++ b/models/actions/run.go
@@ -129,7 +129,7 @@ func (run *ActionRun) GetPushEventPayload() (*api.PushPayload, error) {
 }
 
 func (run *ActionRun) GetPullRequestEventPayload() (*api.PullRequestPayload, error) {
-	if run.Event == webhook_module.HookEventPullRequest {
+	if run.Event == webhook_module.HookEventPullRequest || run.Event == webhook_module.HookEventPullRequestSync {
 		var payload api.PullRequestPayload
 		if err := json.Unmarshal([]byte(run.EventPayload), &payload); err != nil {
 			return nil, err
diff --git a/services/actions/commit_status.go b/services/actions/commit_status.go
index 84de106eeca3..6604a149a5c9 100644
--- a/services/actions/commit_status.go
+++ b/services/actions/commit_status.go
@@ -45,7 +45,7 @@ func CreateCommitStatus(ctx context.Context, job *actions_model.ActionRunJob) er
 
 		sha = payload.HeadCommit.ID
 		creatorID = payload.Pusher.ID
-	case webhook_module.HookEventPullRequest:
+	case webhook_module.HookEventPullRequest, webhook_module.HookEventPullRequestSync:
 		payload, err := run.GetPullRequestEventPayload()
 		if err != nil {
 			return fmt.Errorf("GetPullRequestEventPayload: %w", err)