mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Display total commit count in hook message (#21400)
Fixes #21379 The commits are capped by `setting.UI.FeedMaxCommitNum` so `len(commits)` is not the correct number. So this PR adds a new `TotalCommits` field. Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		@@ -645,15 +645,16 @@ func (m *webhookNotifier) NotifyPushCommits(pusher *user_model.User, repo *repo_
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := webhook_services.PrepareWebhooks(repo, webhook.HookEventPush, &api.PushPayload{
 | 
			
		||||
		Ref:        opts.RefFullName,
 | 
			
		||||
		Before:     opts.OldCommitID,
 | 
			
		||||
		After:      opts.NewCommitID,
 | 
			
		||||
		CompareURL: setting.AppURL + commits.CompareURL,
 | 
			
		||||
		Commits:    apiCommits,
 | 
			
		||||
		HeadCommit: apiHeadCommit,
 | 
			
		||||
		Repo:       convert.ToRepo(repo, perm.AccessModeOwner),
 | 
			
		||||
		Pusher:     apiPusher,
 | 
			
		||||
		Sender:     apiPusher,
 | 
			
		||||
		Ref:          opts.RefFullName,
 | 
			
		||||
		Before:       opts.OldCommitID,
 | 
			
		||||
		After:        opts.NewCommitID,
 | 
			
		||||
		CompareURL:   setting.AppURL + commits.CompareURL,
 | 
			
		||||
		Commits:      apiCommits,
 | 
			
		||||
		TotalCommits: commits.Len,
 | 
			
		||||
		HeadCommit:   apiHeadCommit,
 | 
			
		||||
		Repo:         convert.ToRepo(repo, perm.AccessModeOwner),
 | 
			
		||||
		Pusher:       apiPusher,
 | 
			
		||||
		Sender:       apiPusher,
 | 
			
		||||
	}); err != nil {
 | 
			
		||||
		log.Error("PrepareWebhooks: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
@@ -875,15 +876,16 @@ func (m *webhookNotifier) NotifySyncPushCommits(pusher *user_model.User, repo *r
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := webhook_services.PrepareWebhooks(repo, webhook.HookEventPush, &api.PushPayload{
 | 
			
		||||
		Ref:        opts.RefFullName,
 | 
			
		||||
		Before:     opts.OldCommitID,
 | 
			
		||||
		After:      opts.NewCommitID,
 | 
			
		||||
		CompareURL: setting.AppURL + commits.CompareURL,
 | 
			
		||||
		Commits:    apiCommits,
 | 
			
		||||
		HeadCommit: apiHeadCommit,
 | 
			
		||||
		Repo:       convert.ToRepo(repo, perm.AccessModeOwner),
 | 
			
		||||
		Pusher:     apiPusher,
 | 
			
		||||
		Sender:     apiPusher,
 | 
			
		||||
		Ref:          opts.RefFullName,
 | 
			
		||||
		Before:       opts.OldCommitID,
 | 
			
		||||
		After:        opts.NewCommitID,
 | 
			
		||||
		CompareURL:   setting.AppURL + commits.CompareURL,
 | 
			
		||||
		Commits:      apiCommits,
 | 
			
		||||
		TotalCommits: commits.Len,
 | 
			
		||||
		HeadCommit:   apiHeadCommit,
 | 
			
		||||
		Repo:         convert.ToRepo(repo, perm.AccessModeOwner),
 | 
			
		||||
		Pusher:       apiPusher,
 | 
			
		||||
		Sender:       apiPusher,
 | 
			
		||||
	}); err != nil {
 | 
			
		||||
		log.Error("PrepareWebhooks: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -267,15 +267,16 @@ func (p *ReleasePayload) JSONPayload() ([]byte, error) {
 | 
			
		||||
 | 
			
		||||
// PushPayload represents a payload information of push event.
 | 
			
		||||
type PushPayload struct {
 | 
			
		||||
	Ref        string           `json:"ref"`
 | 
			
		||||
	Before     string           `json:"before"`
 | 
			
		||||
	After      string           `json:"after"`
 | 
			
		||||
	CompareURL string           `json:"compare_url"`
 | 
			
		||||
	Commits    []*PayloadCommit `json:"commits"`
 | 
			
		||||
	HeadCommit *PayloadCommit   `json:"head_commit"`
 | 
			
		||||
	Repo       *Repository      `json:"repository"`
 | 
			
		||||
	Pusher     *User            `json:"pusher"`
 | 
			
		||||
	Sender     *User            `json:"sender"`
 | 
			
		||||
	Ref          string           `json:"ref"`
 | 
			
		||||
	Before       string           `json:"before"`
 | 
			
		||||
	After        string           `json:"after"`
 | 
			
		||||
	CompareURL   string           `json:"compare_url"`
 | 
			
		||||
	Commits      []*PayloadCommit `json:"commits"`
 | 
			
		||||
	TotalCommits int              `json:"total_commits"`
 | 
			
		||||
	HeadCommit   *PayloadCommit   `json:"head_commit"`
 | 
			
		||||
	Repo         *Repository      `json:"repository"`
 | 
			
		||||
	Pusher       *User            `json:"pusher"`
 | 
			
		||||
	Sender       *User            `json:"sender"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// JSONPayload FIXME
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user