Create commit status when event is pull_request_sync (#23683) (#23691)

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>
This commit is contained in:
Giteabot 2023-03-24 17:40:24 -04:00 committed by GitHub
parent 1faa39b44c
commit a9b4aa4cc4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View file

@ -127,7 +127,7 @@ func (run *ActionRun) GetPushEventPayload() (*api.PushPayload, error) {
} }
func (run *ActionRun) GetPullRequestEventPayload() (*api.PullRequestPayload, 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 var payload api.PullRequestPayload
if err := json.Unmarshal([]byte(run.EventPayload), &payload); err != nil { if err := json.Unmarshal([]byte(run.EventPayload), &payload); err != nil {
return nil, err return nil, err

View file

@ -45,7 +45,7 @@ func CreateCommitStatus(ctx context.Context, job *actions_model.ActionRunJob) er
sha = payload.HeadCommit.ID sha = payload.HeadCommit.ID
creatorID = payload.Pusher.ID creatorID = payload.Pusher.ID
case webhook_module.HookEventPullRequest: case webhook_module.HookEventPullRequest, webhook_module.HookEventPullRequestSync:
payload, err := run.GetPullRequestEventPayload() payload, err := run.GetPullRequestEventPayload()
if err != nil { if err != nil {
return fmt.Errorf("GetPullRequestEventPayload: %w", err) return fmt.Errorf("GetPullRequestEventPayload: %w", err)