golang使用go-gitlab操作gitlab仓库相关业务操作
package main
import (
"fmt"
"github.com/xanzy/go-gitlab"
"context"
"log"
)
func main() {
// 使用gitlab.com的基础客户端
git := gitlab.NewClient(nil, "your_private_token")
// 列出用户的所有项目
projects, _, err := git.Projects.ListProjects(nil)
if err != nil {
log.Fatalf("Failed to list projects: %v", err)
}
for _, project := range projects {
fmt.Printf("Project ID: %d, Project Name: %s\n", project.ID, project.Name)
}
// 列出特定项目的所有分支
branches, _, err := git.Branches.ListBranches("your_project_id", &gitlab.ListBranchesOptions{})
if err != nil {
log.Fatalf("Failed to list branches: %v", err)
}
for _, branch := range branches {
fmt.Printf("Branch Name: %s, Commit ID: %s\n", branch.Name, branch.Commit.ID)
}
// 创建一个新分支
branchesCreateOpt := &gitlab.CreateBranchOptions{
Branch: gitlab.String("new_feature_branch"),
Ref: gitlab.String("master"),
}
branch, _, err := git.Branches.CreateBranch("your_project_id", branchesCreateOpt)
if err != nil {
log.Fatalf("Failed to create branch: %v", err)
}
fmt.Printf("New Branch Name: %s, Commit ID: %s\n", branch.Name, branch.Commit.ID)
}
这个示例代码展示了如何使用go-gitlab包来列出用户的所有项目、列出特定项目的所有分支以及创建一个新的分支。在实际使用中,需要替换your_private_token
和your_project_id
为你自己的私有令牌和项目ID。
评论已关闭