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)
This commit is contained in:
sillyguodong 2023-03-25 04:05:48 +08:00 committed by GitHub
parent aa3c673621
commit 023e61e678
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View File

@ -129,7 +129,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)