Backport #23683 by @sillyguodong
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)
Co-authored-by: sillyguodong <33891828+sillyguodong@users.noreply.github.com>
}
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
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)