✨ 项目 API: 列出所有项目: 增加参数
This commit is contained in:
parent
6fb1f377be
commit
33fc530224
|
@ -373,6 +373,7 @@ COPYRIGHT:
|
|||
--per-page value 每页列出的项目数(默认:20;最大:100),中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
|
||||
--search value 根据 title 和 description 搜索议题。
|
||||
--search-namespaces 匹配搜索条件时包括上级命名空间。默认为 false。 (default: false)
|
||||
--order-by value 返回按 id、name、path、created_at、updated_at、last_activity_at 或 similarity 字段排序的项目。repository_size、storage_size、packages_size 或 wiki_size 字段只允许管理员使用。similarity(引入于 14.1 版本)仅在搜索 时可用,并且仅限于当前用户所属的项目。默认是created_at。 (default: "created_at")
|
||||
--help, -h show help
|
||||
```
|
||||
|
||||
|
|
|
@ -91,3 +91,11 @@ func PerPage() cli.Flag {
|
|||
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,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -93,14 +93,6 @@ func MyReactionEmoji() cli.Flag {
|
|||
}
|
||||
}
|
||||
|
||||
func OrderBy() cli.Flag {
|
||||
return &cli.StringFlag{
|
||||
Name: constant.OrderBy,
|
||||
Value: "created_at",
|
||||
Usage: "返回根据 created_at、due_date、label_priority、milestone_due、popularity、priority、relative_position、title、updated_at 或 weight 排序的议题。默认值是 created_at。",
|
||||
}
|
||||
}
|
||||
|
||||
func Scope() cli.Flag {
|
||||
return &cli.StringFlag{
|
||||
Name: constant.Scope,
|
||||
|
|
|
@ -10,6 +10,10 @@ import (
|
|||
"log"
|
||||
)
|
||||
|
||||
const (
|
||||
OrderBy = "返回根据 created_at、due_date、label_priority、milestone_due、popularity、priority、relative_position、title、updated_at 或 weight 排序的议题。默认值是 created_at。"
|
||||
)
|
||||
|
||||
// Issues 议题 API https://docs.gitlab.cn/jh/api/issues.html
|
||||
func Issues() *cli.Command {
|
||||
return &cli.Command{
|
||||
|
@ -19,7 +23,7 @@ func Issues() *cli.Command {
|
|||
Flags: append(flag.Common(), flag.Page(), flag.PerPage(), flag.PrintJson(), flag.PrintTime(),
|
||||
flag.AssigneeUsername(), flag.AuthorId(), flag.AuthorUsername(), flag.Confidential(),
|
||||
flag.DueDate(), flag.Iids(), flag.In(), flag.IssueType(), flag.IterationId(), flag.Milestone(),
|
||||
flag.MilestoneId(), flag.MyReactionEmoji(), flag.OrderBy(), flag.Scope(), flag.Search(),
|
||||
flag.MilestoneId(), flag.MyReactionEmoji(), flag.OrderBy(OrderBy), flag.Scope(), flag.Search(),
|
||||
flag.Sort(), flag.State(), flag.WithLabelsDetails(),
|
||||
flag.CreatedAfter(), flag.CreatedBefore()),
|
||||
Subcommands: []*cli.Command{
|
||||
|
@ -29,7 +33,7 @@ func Issues() *cli.Command {
|
|||
Flags: append(flag.CommonTokenRequired(), flag.Page(), flag.PerPage(), flag.PrintJson(), flag.PrintTime(),
|
||||
flag.AssigneeUsername(), flag.AuthorId(), flag.AuthorUsername(), flag.Confidential(),
|
||||
flag.DueDate(), flag.Iids(), flag.In(), flag.IssueType(), flag.IterationId(), flag.Milestone(),
|
||||
flag.MilestoneId(), flag.MyReactionEmoji(), flag.OrderBy(), flag.Scope(), flag.Search(),
|
||||
flag.MilestoneId(), flag.MyReactionEmoji(), flag.OrderBy(OrderBy), flag.Scope(), flag.Search(),
|
||||
flag.Sort(), flag.State(), flag.WithLabelsDetails(),
|
||||
flag.CreatedAfter(), flag.CreatedBefore()),
|
||||
Action: func(context *cli.Context) error {
|
||||
|
|
|
@ -8,18 +8,22 @@ import (
|
|||
"log"
|
||||
)
|
||||
|
||||
const (
|
||||
OrderBy = "返回按 id、name、path、created_at、updated_at、last_activity_at 或 similarity 字段排序的项目。repository_size、storage_size、packages_size 或 wiki_size 字段只允许管理员使用。similarity(引入于 14.1 版本)仅在搜索时可用,并且仅限于当前用户所属的项目。默认是created_at。"
|
||||
)
|
||||
|
||||
// Projects 项目 API https://docs.gitlab.cn/jh/api/projects.html
|
||||
func Projects() *cli.Command {
|
||||
return &cli.Command{
|
||||
Name: "project",
|
||||
Aliases: []string{"projects", "p"},
|
||||
Usage: "项目 API,中文文档:https://docs.gitlab.cn/jh/api/projects.html",
|
||||
Flags: append(flag.Common(), flag.Sort(), flag.Page(), flag.PerPage(), flag.Search(), flag.SearchNamespaces()),
|
||||
Flags: append(flag.Common(), flag.Sort(), flag.Page(), flag.PerPage(), flag.Search(), flag.SearchNamespaces(), flag.OrderBy(OrderBy)),
|
||||
Subcommands: []*cli.Command{
|
||||
{
|
||||
Name: "list",
|
||||
Usage: "列出所有项目",
|
||||
Flags: append(flag.Common(), flag.Sort(), flag.Page(), flag.PerPage(), flag.Search(), flag.SearchNamespaces()),
|
||||
Flags: append(flag.Common(), flag.Sort(), flag.Page(), flag.PerPage(), flag.Search(), flag.SearchNamespaces(), flag.OrderBy(OrderBy)),
|
||||
Action: func(context *cli.Context) error {
|
||||
var baseUrl = context.String(constant.BaseUrl)
|
||||
var token = context.String(constant.Token)
|
||||
|
@ -28,6 +32,7 @@ func Projects() *cli.Command {
|
|||
var perPage = context.Int(constant.PerPage)
|
||||
var search = context.String(constant.Search)
|
||||
var searchNamespaces = context.Bool(constant.SearchNamespaces)
|
||||
var orderBy = context.String(constant.OrderBy)
|
||||
|
||||
gitClient, err := gitlab.NewClient(token, gitlab.WithBaseURL(baseUrl))
|
||||
if err != nil {
|
||||
|
@ -42,6 +47,7 @@ func Projects() *cli.Command {
|
|||
Sort: &sort,
|
||||
Search: &search,
|
||||
SearchNamespaces: &searchNamespaces,
|
||||
OrderBy: &orderBy,
|
||||
}
|
||||
projects, response, err := gitClient.Projects.ListProjects(opt)
|
||||
log.Printf("Response StatusCode: %d\n", response.Response.StatusCode)
|
||||
|
|
Loading…
Reference in New Issue