// 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"` }