166 lines
9.4 KiB
Go
166 lines
9.4 KiB
Go
// 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"` // 用户名
|
|
}
|
|
|
|
// ResponseData 处理结果的返回值
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 11:37 上午 2021/11/12
|
|
type ResponseData struct {
|
|
Code interface{} `json:"code"`
|
|
Message string `json:"message"`
|
|
Data interface{} `json:"data"`
|
|
}
|