增加web hook回调数据结构的解析
This commit is contained in:
parent
d424a2fd20
commit
9f07e2521e
228
git_hook/define.go
Normal file
228
git_hook/define.go
Normal file
@ -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"`
|
||||
}
|
Loading…
Reference in New Issue
Block a user