2023-10-05 02:58:22 +08:00
|
|
|
|
package flag
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/urfave/cli/v2"
|
|
|
|
|
"github.com/xuxiaowei-com-cn/gitlab-go/constant"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func Common() []cli.Flag {
|
|
|
|
|
return []cli.Flag{
|
2023-10-08 12:35:46 +08:00
|
|
|
|
BaseUrl(),
|
|
|
|
|
Token(false),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func CommonTokenRequired() []cli.Flag {
|
|
|
|
|
return []cli.Flag{
|
|
|
|
|
BaseUrl(),
|
|
|
|
|
Token(true),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-09 19:27:39 +08:00
|
|
|
|
func PrintJson() cli.Flag {
|
|
|
|
|
return &cli.BoolFlag{
|
|
|
|
|
Name: constant.PrintJson,
|
|
|
|
|
Value: constant.PrintJsonDefault,
|
|
|
|
|
Usage: "打印 JSON",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func PrintTime() cli.Flag {
|
|
|
|
|
return &cli.BoolFlag{
|
|
|
|
|
Name: constant.PrintTime,
|
|
|
|
|
Value: constant.PrintTimeDefault,
|
|
|
|
|
Usage: "打印时间",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-08 12:35:46 +08:00
|
|
|
|
func BaseUrl() cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.BaseUrl,
|
|
|
|
|
Value: constant.BaseUrlDefault,
|
|
|
|
|
EnvVars: []string{"CI_API_V4_URL"},
|
|
|
|
|
Usage: "实例地址,例如:https://gitlab.xuxiaowei.com.cn/api/v4",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Token(required bool) cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.Token,
|
|
|
|
|
Usage: "your_access_token",
|
|
|
|
|
Required: required,
|
2023-10-05 02:58:22 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Sort() cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.Sort,
|
|
|
|
|
Value: constant.SortDefault,
|
|
|
|
|
Usage: "按照 asc 或者 desc 排序",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Id(required bool) cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.Id,
|
|
|
|
|
Usage: "项目 ID 或 URL 编码的路径",
|
|
|
|
|
Required: required,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-15 20:32:25 +08:00
|
|
|
|
func Repository(required bool) cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.Repository,
|
|
|
|
|
Usage: "仓库里存储库的 ID",
|
|
|
|
|
Required: required,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-15 20:46:46 +08:00
|
|
|
|
func TagName(required bool) cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.TagName,
|
|
|
|
|
Usage: "标签的名称",
|
|
|
|
|
Required: required,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-05 02:58:22 +08:00
|
|
|
|
func JobId(required bool) cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.JobId,
|
|
|
|
|
Usage: "作业 ID",
|
|
|
|
|
Required: required,
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-10-09 13:22:19 +08:00
|
|
|
|
|
2023-10-17 12:26:20 +08:00
|
|
|
|
func ArtifactsName() cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.ArtifactsName,
|
|
|
|
|
Value: "artifacts.zip",
|
|
|
|
|
Usage: "保存产物名称(保存到系统磁盘的名称)",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-09 13:22:19 +08:00
|
|
|
|
func Page() cli.Flag {
|
2023-10-09 13:29:11 +08:00
|
|
|
|
return &cli.IntFlag{
|
|
|
|
|
Name: constant.Page,
|
|
|
|
|
Value: 1,
|
2023-10-09 13:22:19 +08:00
|
|
|
|
Usage: "页码(默认:1),中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination",
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func PerPage() cli.Flag {
|
2023-10-09 13:29:11 +08:00
|
|
|
|
return &cli.IntFlag{
|
2023-10-09 13:22:19 +08:00
|
|
|
|
Name: constant.PerPage,
|
2023-10-09 13:29:11 +08:00
|
|
|
|
Value: 20,
|
2023-10-09 13:22:19 +08:00
|
|
|
|
Usage: "每页列出的项目数(默认:20;最大:100),中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination",
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-10-15 18:35:41 +08:00
|
|
|
|
|
|
|
|
|
func OrderBy(usage string) cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.OrderBy,
|
|
|
|
|
Value: "created_at",
|
|
|
|
|
Usage: usage,
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-10-17 12:54:56 +08:00
|
|
|
|
|
|
|
|
|
func Scope(value string, usage string) cli.Flag {
|
|
|
|
|
return &cli.StringFlag{
|
|
|
|
|
Name: constant.Scope,
|
|
|
|
|
Value: value,
|
|
|
|
|
Usage: usage,
|
|
|
|
|
}
|
|
|
|
|
}
|