gopkg/git_hook/define.go

229 lines
11 KiB
Go
Raw Normal View History

// 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 {
2021-11-11 20:46:25 +08:00
Repository Repository `json:"repository"` // 仓库信息
Sender Sender `json:"sender"`
2021-11-11 20:46:25 +08:00
Ref string `json:"ref"` // 分支,如 : refs/heads/master
Before string `json:"before"` // 之前版本号 : e162757f3f4a37786b4118a5346baae5dd24ecde
After string `json:"after"` // 当前版本号 : c70a362d850a820704bd374363ea4e7ea810fd1a
HeadCommit HeadCommit `json:"head_commit"`
2021-11-11 20:46:25 +08:00
CompareUrl string `json:"compare_url"` // 两个版本号代码diff的URL, 点击后可查看diff
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"`
2021-11-11 20:46:25 +08:00
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 地址
2021-11-11 21:01:19 +08:00
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 RepositoryOwner `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"`
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"`
}