From 9f07e2521ea9287fd95284f79121147fbb498d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Thu, 11 Nov 2021 18:36:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0web=20hook=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E7=9A=84=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- git_hook/define.go | 228 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 git_hook/define.go diff --git a/git_hook/define.go b/git_hook/define.go new file mode 100644 index 0000000..00f3b3c --- /dev/null +++ b/git_hook/define.go @@ -0,0 +1,228 @@ +// Package git_hook... +// +// Description : git_hook... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 2021-11-11 6:23 下午 +package git_hook + +// HookData hook通知数据 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:23 下午 2021/11/11 +type HookData struct { + Repository Repository `json:"repository"` + Sender Sender `json:"sender"` + Ref string `json:"ref"` + Before string `json:"before"` + After string `json:"after"` + HeadCommit HeadCommit `json:"head_commit"` + CompareUrl string `json:"compare_url"` + Commits []Commit `json:"commits"` + Pusher Pusher `json:"pusher"` +} + +// Repository 仓库信息 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:24 下午 2021/11/11 +type Repository struct { + Mirror bool `json:"mirror"` + OriginalUrl string `json:"original_url"` + StarsCount int64 `json:"stars_count"` + IgnoreWhitespaceConflicts bool `json:"ignore_whitespace_conflicts"` + FullName string `json:"full_name"` + Fork bool `json:"fork"` + CreatedAt string `json:"created_at"` + Internal bool `json:"internal"` + AllowRebaseExplicit bool `json:"allow_rebase_explicit"` + MirrorInterval string `json:"mirror_interval"` + CloneUrl string `json:"clone_url"` + WatchersCount int64 `json:"watchers_count"` + OpenIssuesCount int64 `json:"open_issues_count"` + ReleaseCounter int64 `json:"release_counter"` + InternalTracker RepositoryInternalTracker `json:"internal_tracker"` + Name string `json:"name"` + Empty bool `json:"empty"` + SshUrl string `json:"ssh_url"` + ForksCount int64 `json:"forks_count"` + Permissions RepositoryPermission `json:"permissions"` + Private bool `json:"private"` + Size int64 `json:"size"` + HasWiki bool `json:"has_wiki"` + HasProjects bool `json:"has_projects"` + AllowMergeCommits bool `json:"allow_merge_commits"` + AvatarUrl string `json:"avatar_url"` + Id int64 `json:"id"` + Description string `json:"description"` + Website string `json:"website"` + UpdatedAt string `json:"updated_at"` + HasPullRequests bool `json:"has_pull_requests"` + Parent map[string]interface{} `json:"parent"` + OpenPrCounter int64 `json:"open_pr_counter"` + HasIssues bool `json:"has_issues"` + AllowRebase bool `json:"allow_rebase"` + AllowSquashMerge bool `json:"allow_squash_merge"` + Owner RepositoryOwner `json:"owner"` + Template bool `json:"template"` + HtmlUrl string `json:"html_url"` + DefaultBranch string `json:"default_branch"` + Archived bool `json:"archived"` + DefaultMergeStyle string `json:"default_merge_style"` +} + +// RepositoryInternalTracker 内部跟踪器 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:28 下午 2021/11/11 +type RepositoryInternalTracker struct { + EnableTimeTracker bool `json:"enable_time_tracker"` + AllowOnlyContributorsToTrackTime bool `json:"allow_only_contributors_to_track_time"` + EnableIssueDependencies bool `json:"enable_issue_dependencies"` +} + +// RepositoryPermission 仓库权限 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:29 下午 2021/11/11 +type RepositoryPermission struct { + Pull bool `json:"pull"` + Admin bool `json:"admin"` + Push bool `json:"push"` +} + +// RepositoryOwner 仓库Owner +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:30 下午 2021/11/11 +type RepositoryOwner struct { + IsAdmin bool `json:"is_admin"` + Website string `json:"website"` + Email string `json:"email"` + AvatarUrl string `json:"avatar_url"` + ProhibitLogin bool `json:"prohibit_login"` + Description string `json:"description"` + FollowingCount int64 `json:"following_count"` + StarredReposCount int64 `json:"starred_repos_count"` + Username string `json:"username"` + Login string `json:"login"` + Created string `json:"created"` + Visibility string `json:"visibility"` + FullName string `json:"full_name"` + LastLogin string `json:"last_login"` + Restricted bool `json:"restricted"` + Active bool `json:"active"` + Location string `json:"location"` + FollowersCount int64 `json:"followers_count"` + ID int64 `json:"id"` + Language string `json:"language"` +} + +// Sender ... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:25 下午 2021/11/11 +type Sender struct { + Created string `json:"created"` + Website string `json:"website"` + FollowingCount int64 `json:"following_count"` + StarredReposCount int64 `json:"starred_repos_count"` + FullName string `json:"full_name"` + Language string `json:"language"` + LastLogin string `json:"last_login"` + Visibility string `json:"visibility"` + FollowersCount int64 `json:"followers_count"` + Username string `json:"username"` + IsAdmin bool `json:"is_admin"` + Active bool `json:"active"` + Location string `json:"location"` + Restricted bool `json:"restricted"` + Description string `json:"description"` + AvatarUrl string `json:"avatar_url"` + ProhibitLogin bool `json:"prohibit_login"` + Id int64 `json:"id"` + Login string `json:"login"` + Email string `json:"email"` +} + +// HeadCommit ... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:25 下午 2021/11/11 +type HeadCommit struct { + Message string `json:"message"` + Url string `json:"url"` + Author CommitAuthor `json:"author"` + Verification map[string]interface{} `json:"verification"` + Timestamp string `json:"timestamp"` + ID string `json:"id"` + Committer CommitAuthor `json:"committer"` + Added []string `json:"added"` // 增加的文件列表 + Removed []string `json:"removed"` // 移除文件列表 + Modified []string `json:"modified"` // 修改的文件列表 +} + +// CommitAuthor 提交人的信息 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:31 下午 2021/11/11 +type CommitAuthor struct { + Name string `json:"name"` + Email string `json:"email"` + Username string `json:"username"` +} + +// Commit ... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:26 下午 2021/11/11 +type Commit struct { + Url string `json:"url"` + Author CommitAuthor `json:"author"` + Committer CommitAuthor `json:"committer"` + Verification map[string]interface{} `json:"verification"` + Removed []string `json:"removed"` + Id string `json:"id"` + Message string `json:"message"` + Modified []string `json:"modified"` + Timestamp string `json:"timestamp"` + Added []string `json:"added"` +} + +// Pusher ... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 6:27 下午 2021/11/11 +type Pusher struct { + Language string `json:"language"` + Website string `json:"website"` + Id int64 `json:"id"` + Email string `json:"email"` + Active bool `json:"active"` + Description string `json:"description"` + Visibility string `json:"visibility"` + Login string `json:"login"` + Restricted bool `json:"restricted"` + Location string `json:"location"` + StarredReposCount int64 `json:"starred_repos_count"` + Username string `json:"username"` + IsAdmin bool `json:"is_admin"` + ProhibitLogin bool `json:"prohibit_login"` + LastLogin string `json:"last_login"` + Created string `json:"created"` + FollowersCount int64 `json:"followers_count"` + FollowingCount int64 `json:"following_count"` + FullName string `json:"full_name"` + AvatarUrl string `json:"avatar_url"` +}