🚧 代码解耦
This commit is contained in:
parent
6ea316b4d7
commit
58fc100eaa
38
main.go
38
main.go
|
@ -2,8 +2,8 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/xanzy/go-gitlab"
|
|
||||||
"github.com/xuxiaowei-com-cn/git-go/buildinfo"
|
"github.com/xuxiaowei-com-cn/git-go/buildinfo"
|
||||||
|
"github.com/xuxiaowei-com-cn/gitlab-go/projects"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
@ -52,41 +52,7 @@ func main() {
|
||||||
Version: versionInfo(),
|
Version: versionInfo(),
|
||||||
Usage: Description,
|
Usage: Description,
|
||||||
Commands: []*cli.Command{
|
Commands: []*cli.Command{
|
||||||
{
|
projects.Projects(),
|
||||||
Name: "projects",
|
|
||||||
Aliases: []string{"p"},
|
|
||||||
Usage: "项目 API,中文文档:https://docs.gitlab.cn/jh/api/projects.html",
|
|
||||||
Action: func(context *cli.Context) error {
|
|
||||||
var token = context.String("token")
|
|
||||||
var baseUrl = context.String("baseUrl")
|
|
||||||
if baseUrl == "" {
|
|
||||||
baseUrl = "https://jihulab.com/api/v4"
|
|
||||||
}
|
|
||||||
gitClient, err := gitlab.NewClient(token, gitlab.WithBaseURL(baseUrl))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
opt := &gitlab.ListProjectsOptions{}
|
|
||||||
projects, response, err := gitClient.Projects.ListProjects(opt)
|
|
||||||
fmt.Printf("Response StatusCode: %d\n", response.Response.StatusCode)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
for index, project := range projects {
|
|
||||||
fmt.Printf("Index: %d,\t ID: %d,\t Path: %s,\t Name: %s\n", index, project.ID, project.Path, project.Name)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
},
|
|
||||||
Flags: []cli.Flag{
|
|
||||||
&cli.StringFlag{
|
|
||||||
Name: "token",
|
|
||||||
Usage: "your_access_token",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package projects
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/urfave/cli/v2"
|
||||||
|
"github.com/xanzy/go-gitlab"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Projects 项目 API https://docs.gitlab.cn/jh/api/projects.html
|
||||||
|
func Projects() *cli.Command {
|
||||||
|
return &cli.Command{
|
||||||
|
Name: "projects",
|
||||||
|
Aliases: []string{"p"},
|
||||||
|
Usage: "项目 API,中文文档:https://docs.gitlab.cn/jh/api/projects.html",
|
||||||
|
Action: func(context *cli.Context) error {
|
||||||
|
var token = context.String("token")
|
||||||
|
var baseUrl = context.String("baseUrl")
|
||||||
|
if baseUrl == "" {
|
||||||
|
baseUrl = "https://jihulab.com/api/v4"
|
||||||
|
}
|
||||||
|
gitClient, err := gitlab.NewClient(token, gitlab.WithBaseURL(baseUrl))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
opt := &gitlab.ListProjectsOptions{}
|
||||||
|
projects, response, err := gitClient.Projects.ListProjects(opt)
|
||||||
|
fmt.Printf("Response StatusCode: %d\n", response.Response.StatusCode)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for index, project := range projects {
|
||||||
|
fmt.Printf("Index: %d,\t ID: %d,\t Path: %s,\t Name: %s\n", index, project.ID, project.Path, project.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "token",
|
||||||
|
Usage: "your_access_token",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue