// 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 User `json:"sender"` Ref string `json:"ref"` // 分支,如 : refs/heads/master Before string `json:"before"` // 之前版本号 : e162757f3f4a37786b4118a5346baae5dd24ecde After string `json:"after"` // 当前版本号 : c70a362d850a820704bd374363ea4e7ea810fd1a HeadCommit Commit `json:"head_commit"` // 最近一次提交 CompareUrl string `json:"compare_url"` // 两个版本号代码diff的URL, 点击后可查看diff Commits []Commit `json:"commits"` // 提交记录列表 Pusher User `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"` // original_url StarsCount int64 `json:"stars_count"` // start 数量 IgnoreWhitespaceConflicts bool `json:"ignore_whitespace_conflicts"` // 忽略空格的冲突 FullName string `json:"full_name"` // 仓库完整名称 Fork bool `json:"fork"` // 是否 fork CreatedAt string `json:"created_at"` // 创建时间 Internal bool `json:"internal"` // 是否内部仓库 AllowRebaseExplicit bool `json:"allow_rebase_explicit"` // 是否允许rebase MirrorInterval string `json:"mirror_interval"` // mirror_interval CloneUrl string `json:"clone_url"` // gi clone 对用的 https 地址 WatchersCount int64 `json:"watchers_count"` // 监听器数量 OpenIssuesCount int64 `json:"open_issues_count"` // 未解决的issues数量 ReleaseCounter int64 `json:"release_counter"` // 发布版本数量 InternalTracker RepositoryInternalTracker `json:"internal_tracker"` // 内部跟踪配置 Name string `json:"name"` // 仓库名称 Empty bool `json:"empty"` // 仓库是否为空 SshUrl string `json:"ssh_url"` // git clone 对应的 ssh 地址 ForksCount int64 `json:"forks_count"` // fork 次数 Permissions RepositoryPermission `json:"permissions"` // 权限配置 Private bool `json:"private"` // 是否为私有仓库 Size int64 `json:"size"` // 仓库大小 KB HasWiki bool `json:"has_wiki"` // 是否有 wiki HasProjects bool `json:"has_projects"` // 是否有项目 AllowMergeCommits bool `json:"allow_merge_commits"` // 是否允许合并提交 AvatarUrl string `json:"avatar_url"` // 头像地址 ID int64 `json:"id"` // 仓库ID Description string `json:"description"` // 创建仓库时候的描述 Website string `json:"website"` // 网站 UpdatedAt string `json:"updated_at"` // 更新时间 HasPullRequests bool `json:"has_pull_requests"` // 是否有 pull request Parent map[string]interface{} `json:"parent"` // parent OpenPrCounter int64 `json:"open_pr_counter"` // 打开的pr数量 HasIssues bool `json:"has_issues"` // 是否有issues AllowRebase bool `json:"allow_rebase"` // 是否允许rebase AllowSquashMerge bool `json:"allow_squash_merge"` // 是否允许 合并 merge (将分支内容合并成一次提交, 合入主干) Owner User `json:"owner"` // 仓库所有者信息 Template bool `json:"template"` // 是否是模版 HtmlUrl string `json:"html_url"` // 访问仓库的html地址 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"` // 启用time_tracker AllowOnlyContributorsToTrackTime bool `json:"allow_only_contributors_to_track_time"` // 仅有代码贡献者允许 EnableIssueDependencies bool `json:"enable_issue_dependencies"` // 启用 issue_dependencies } // RepositoryPermission 仓库权限 // // Author : go_developer@163.com<白茶清欢> // // Date : 6:29 下午 2021/11/11 type RepositoryPermission struct { Pull bool `json:"pull"` // 是否允许 pull 代码 Admin bool `json:"admin"` // 是否是管理员 Push bool `json:"push"` // 是否允许push代码 } // User 用户信息 // // Author : go_developer@163.com<白茶清欢> // // Date : 6:30 下午 2021/11/11 type User 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"` // follower数量 StarredReposCount int64 `json:"starred_repos_count"` // star仓库数量 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"` // follower数量 ID int64 `json:"id"` // id Language string `json:"language"` // 语言 } // Commit 提交记录信息 // // Author : go_developer@163.com<白茶清欢> // // Date : 6:25 下午 2021/11/11 type Commit struct { Message string `json:"message"` // 提交时带的message Url string `json:"url"` // 浏览此版本代码的地址 Author CommitAuthor `json:"author"` // 作者信息 Verification map[string]interface{} `json:"verification"` // 验证 Timestamp string `json:"timestamp"` // 时间 ID string `json:"id"` // 提交的版本号 98ccd35d19d17c8e624a492cc5811fe6f381ca09 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"` // 用户名 }