Skip to content

Commit eb0d237

Browse files
author
Stephane Leclercq
committed
Add merge requests listing to project example
1 parent a526ef0 commit eb0d237

File tree

1 file changed

+44
-4
lines changed

1 file changed

+44
-4
lines changed

examples/projects/main.go

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,24 @@ func main() {
3535
var method string
3636
flag.StringVar(&method, "m", "", "Specify method to retrieve projects infos, available methods:\n"+
3737
" > -m projects\n"+
38-
" > -m project -id PROJECT_ID\n"+
39-
" > -m hooks -id PROJECT_ID\n"+
40-
" > -m branches -id PROJECT_ID\n"+
41-
" > -m team -id PROJECT_ID")
38+
" > -m project -id PROJECT_ID\n"+
39+
" > -m hooks -id PROJECT_ID\n"+
40+
" > -m branches -id PROJECT_ID\n"+
41+
" > -m team -id PROJECT_ID\n"+
42+
" > -m merge_requests -id PROJECT_ID [-state <all|merged|opened|closed>] [-order <created_at|updated_at>] [-sort <asc|desc>]")
4243

4344
var id string
4445
flag.StringVar(&id, "id", "", "Specify repository id")
4546

47+
var state string
48+
flag.StringVar(&state, "state", "", "Specify merge request state")
49+
50+
var order string
51+
flag.StringVar(&order, "order", "", "Specify merge request order")
52+
53+
var sort string
54+
flag.StringVar(&sort, "sort", "", "Specify merge request sort")
55+
4656
flag.Usage = func() {
4757
fmt.Printf("Usage:\n")
4858
flag.PrintDefaults()
@@ -158,5 +168,35 @@ func main() {
158168
for _, member := range members {
159169
fmt.Printf("> [%d] %s (%s) since %s\n", member.Id, member.Username, member.Name, member.CreatedAt)
160170
}
171+
172+
case "merge_requests":
173+
fmt.Println("Fetching project merge requests...")
174+
175+
if id == "" {
176+
flag.Usage()
177+
return
178+
}
179+
180+
var params map[string]string = make(map[string]string)
181+
if state != "" {
182+
params["state"] = state
183+
}
184+
if order != "" {
185+
params["order_by"] = order
186+
}
187+
if sort != "" {
188+
params["sort"] = sort
189+
}
190+
191+
mrs, err := gitlab.ProjectMergeRequests(id, params)
192+
if err != nil {
193+
fmt.Println(err.Error())
194+
return
195+
}
196+
197+
for _, mr := range mrs {
198+
fmt.Printf("> [%d] %s (+%d) by %s. WIP : %t\n", mr.Id, mr.Title, mr.Upvotes, mr.Author.Name, mr.WorkInProgress)
199+
}
200+
161201
}
162202
}

0 commit comments

Comments
 (0)