81 lines
2.5 KiB
Go
81 lines
2.5 KiB
Go
package main
|
||
|
||
type Config struct {
|
||
// repo名称:git用户名/项目名
|
||
Repo string `json:"repo"`
|
||
// 项目的父文件夹路径
|
||
Path string `json:"path"`
|
||
// 脚本文件名
|
||
Script string `json:"script"`
|
||
// 信号:commit messgae里包含信号,则执行脚本
|
||
Signal string `json:"signal"`
|
||
// 分支 指定分支执行脚本
|
||
Branch string `json:"branch"`
|
||
}
|
||
|
||
type GogsPayload struct {
|
||
Ref string `json:"ref"`
|
||
Before string `json:"before"`
|
||
After string `json:"after"`
|
||
CompareURL string `json:"compare_url"`
|
||
Commits []struct {
|
||
ID string `json:"id"`
|
||
Message string `json:"message"`
|
||
URL string `json:"url"`
|
||
Author struct {
|
||
Name string `json:"name"`
|
||
Email string `json:"email"`
|
||
Username string `json:"username"`
|
||
} `json:"author"`
|
||
Committer struct {
|
||
Name string `json:"name"`
|
||
Email string `json:"email"`
|
||
Username string `json:"username"`
|
||
} `json:"committer"`
|
||
Timestamp string `json:"timestamp"`
|
||
} `json:"commits"`
|
||
Repository struct {
|
||
ID int `json:"id"`
|
||
Owner struct {
|
||
ID int `json:"id"`
|
||
Login string `json:"login"`
|
||
FullName string `json:"full_name"`
|
||
Email string `json:"email"`
|
||
AvatarURL string `json:"avatar_url"`
|
||
Username string `json:"username"`
|
||
} `json:"owner"`
|
||
Name string `json:"name"`
|
||
FullName string `json:"full_name"`
|
||
Description string `json:"description"`
|
||
Private bool `json:"private"`
|
||
Fork bool `json:"fork"`
|
||
HTMLURL string `json:"html_url"`
|
||
SSHURL string `json:"ssh_url"`
|
||
CloneURL string `json:"clone_url"`
|
||
Website string `json:"website"`
|
||
StarsCount int `json:"stars_count"`
|
||
ForksCount int `json:"forks_count"`
|
||
WatchersCount int `json:"watchers_count"`
|
||
OpenIssuesCount int `json:"open_issues_count"`
|
||
DefaultBranch string `json:"default_branch"`
|
||
CreatedAt string `json:"created_at"`
|
||
UpdatedAt string `json:"updated_at"`
|
||
} `json:"repository"`
|
||
Pusher struct {
|
||
ID int `json:"id"`
|
||
Login string `json:"login"`
|
||
FullName string `json:"full_name"`
|
||
Email string `json:"email"`
|
||
AvatarURL string `json:"avatar_url"`
|
||
Username string `json:"username"`
|
||
} `json:"pusher"`
|
||
Sender struct {
|
||
ID int `json:"id"`
|
||
Login string `json:"login"`
|
||
FullName string `json:"full_name"`
|
||
Email string `json:"email"`
|
||
AvatarURL string `json:"avatar_url"`
|
||
Username string `json:"username"`
|
||
} `json:"sender"`
|
||
}
|