gitlab-go/flag/flag.go

134 lines
2.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package flag
import (
"github.com/urfave/cli/v2"
"github.com/xuxiaowei-com-cn/gitlab-go/constant"
)
func Common() []cli.Flag {
return []cli.Flag{
BaseUrl(),
Token(false),
}
}
func CommonTokenRequired() []cli.Flag {
return []cli.Flag{
BaseUrl(),
Token(true),
}
}
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: "打印时间",
}
}
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,
}
}
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,
}
}
func Repository(required bool) cli.Flag {
return &cli.StringFlag{
Name: constant.Repository,
Usage: "仓库里存储库的 ID",
Required: required,
}
}
func TagName(required bool) cli.Flag {
return &cli.StringFlag{
Name: constant.TagName,
Usage: "标签的名称",
Required: required,
}
}
func JobId(required bool) cli.Flag {
return &cli.StringFlag{
Name: constant.JobId,
Usage: "作业 ID",
Required: required,
}
}
func ArtifactsName() cli.Flag {
return &cli.StringFlag{
Name: constant.ArtifactsName,
Value: "artifacts.zip",
Usage: "保存产物名称(保存到系统磁盘的名称)",
}
}
func Page() cli.Flag {
return &cli.IntFlag{
Name: constant.Page,
Value: 1,
Usage: "页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination",
}
}
func PerPage() cli.Flag {
return &cli.IntFlag{
Name: constant.PerPage,
Value: 20,
Usage: "每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination",
}
}
func OrderBy(usage string) cli.Flag {
return &cli.StringFlag{
Name: constant.OrderBy,
Value: "created_at",
Usage: usage,
}
}
func Scope(value string, usage string) cli.Flag {
return &cli.StringFlag{
Name: constant.Scope,
Value: value,
Usage: usage,
}
}